F.2.2.1. Особые ситуации при копировании.
a) Если копируемый файл имеет то же имя и расширение, что и файл в целевом каталоге, то будет выдано сообщение:
Norton Commander, Volkov Commander, Far:
The file <file> is already exist.
Do you wish to write over the target file?
Файл <file> уже существует.
Заменить его при копировании?
Windows Commander:
Overwrite <old_file>
with the file <new_file>
Заменить <old_file>
файлом <new_file>
Dos Navigator:
File <file>
is already exists in destination directory.
Source: <new file>
Existing: <old file>
Файл <file>
уже существует в каталоге назначения.
Источник: <new file>
Существующий: <old file>
Можно выбрать один из следующих ответов:
Overwrite (Заменить) - заменить существующий файл копией *) (для всех оболочек.)
Примечание. Внимание! При замене старый файл стирается с диска.
All (Все) -заменить существующий файл и все последующие файлы копиями (Norton 4.0, Volkov, Far, в Windows Commander - Overwrite All).
Append (Добавить) - записать новый файл в конец предыдущего
(Dos Navigator. Far)
Rename (Переименовать) - записать копируемый файл под другим именем (Dos Navigator)
Skip (Пропустить) - не разрешает замену. Копирование при этом продолжается (Norton 5.0, Volkov 4.0, Far, Dos Navigator).
Skip All (Пропустить все) - не разрешает замену текущего и всех последующих фалов. Копирование продолжается (Far, Windows Commander).
Overwrite all older (Заменить все старые) - выполняет замену старых файлов на новые без запроса (Windows Commander).
Cancel (Отмена) -не разрешает замену фала и прекращает копирование (для всех оболочек).
В Dos Navigator есть переключатель, который разрешает распространять один из ответов (Overwrite, Append, Rename или Skip на все последующие файлы. Он называется Accept choice for all files (Распространить выбор на все файлы).
b) Перезапись файлов с атрибутами “Только для чтения” и/или “Системный”
При перезаписи таких файлов появляется сообщение:
(Norton 4.0, Volkov, Far, Windows Commander)
The file <file> is a read only file.
Do you wish to write over the target file?
Файл <file> уже существует.
Заменить?
Далее следует кнопки, название и смысл которых сходны с описанной особой ситуацией a).
Замечание I. Norton Commander 3.0 не позволяет замещать файлы с атрибутом “Только для чтения” и/или “Системный”. Вместо данного диалогового окна появляется сообщение об ошибке:
Unable copy file <file>.
Нажав кнопку OK, или клавишу Enter или Esc, можно вернуться к исходному состоянию.
Замечание II. В оболочке Dos Navigator особая ситуация b) не возникает. В ней любой файл перезаписывается несмотря на атрибуты существующих файлов.
c) Нехватка места на диске.
При нехватке места на жестком диске на экран выводится сообщение:
There isn't enough room to copy <file> to <dir>.
Недостаточно места для копирования <file> to <dir>.
с единственной кнопкой -OK. После нажатия на нее копирование прекращается. Нескопированные файлы останутся выделенными.
При нехватке места при копировании на съемный диск происходит следующее:
FAR:
1) Выдает диалоговое окно с сообщением:
Insufficient disk space <file>
Недостаточно места на диске <file>
Необходимо выбрать два варианта, указанных кнопками:
Split (Разрезать) -оболочка попытается разрезать текущий файл.
Cancel (Отмена) -отмена копирования и переход к пункту №2.
2) Появляется диалоговое окно с сообщением:
Cannot write data to <file>
Не могу записать данные в <file>
с кнопками Retry (Снова) и Cancel (Отмена). Необходимо выбрать кнопку Cancel или нажать Esc.
3) Появится диалоговое окно с сообщением:
Cannot copy <file> to <dir>.
Не могу копировать <file> в <dir>.
с тремя кнопками:
Retry (Снова) - попытаться скопировать вновь. Эту кнопку лучше не выбирать.
Skip (Пропустить) - отказаться от копирования одного файла.
Копирование других будет продолжено.
Cancel (Отмена) -отказ от копирования.
Norton 5.0:
Появится сообщение с).1, к которому дописывается строчка:
Insert another disk in drive <drive>:
Вставьте следующий диск в дисковод <drive>:
Пользователь должен вставить следующий отформатированный диск и выбрать кнопку OK (или нажать Enter).
Для отказа от копирования необходимо выбрать кнопку Cancel (Отмена) или нажать клавишу Esc.
Windows Commander
Появляется окно сообщения
No enough free space on target disk. Continue?
Нет необходимого свободного пространства на текущем диске. Продолжить?
Сообщение сопровождается тремя кнопками. При нажатии кнопки Yes (ДА) система попытается вновь скопировать файл (для этого нужно сменить диск). Если и эта попытка окончится неудачно, то выдается сообщение:
Disk full
Диск полон
с единственной кнопкой OK.
Если на предыдущее сообщение ответить No (Нет), то копирование сразу прекратиться.
Volkov 4.0:
Появляется диалоговое окно с сообщением:
There isn't enough room to copy <file> to <dir>.
Недостаточно места для копирования <file> to <dir>.
с двумя кнопками: Abort (Прервать) и Continue (Продолжить). Необходимо выбрать кнопку Abort или нажать любую клавишу.
Dos Navigator:
Появляется сообщение:
Disk full.
Диск переполнен.
с единственной кнопкой -OK.
d) Циклическое копирование (!!!)
Иногда при копировании возникает ситуация, когда в целевом каталоге, имеется подкаталог с тем же именем, что и каталог-источник. Примером может служить команда:
xcopy ..\*.* . /S
В соответствии с этим выражением родительский каталог копируется в текущий каталог (назовем его DIR). Так как указан ключ /S, то воссоздается все дерево родительского каталога. Поэтому может возникнуть рекурсия - в подкаталоге DIR будет непрерывно воссоздаваться новый подкаталог DIR, и в него будет копироваться дерево родительского каталога. Это не приведет ни к чему хорошему. В лучшем случае у Вас заполнится диск с бесконечными копиями файлов. В худшем случае у Вас разрушится FAT, и Вам придется осуществить высокоуровневое форматирование диска.
К сожалению, защита от циклического копирования реализована не во всех файловых оболочках. Автор может с уверенностью сказать, что такой защиты нет в Volkov Commander и присутствует в Norton Commander v. 5.0. При попытке циклического копирования в Norton Commander этой версии появляется сообщение:
Unable to create file <file>.
Невозможно создать файл <file>.
Пользователь может выбрать кнопку OK, или нажать клавиши Enter или Esc, после чего программа продолжит копирование других файлов.
Содержание раздела