Что означает имя файла или каталога xcopy
Параметры и примеры Xcopy
Копирует файлы и директории, включая вложенные директории. Работает в командной строке Windows.
Синтаксис команды :
Параметры :
источник : обязательный параметр. Определяет расположение и имена файлов которые вам нужно скопировать. Данный параметр должен включать устройство или путь.
целевой_объект : Опеределяет место назначения копируемых файлов. Может включать в себя букву диска с двоеточием, имя директории, имя файла, или комбинацию их.
/w : отображает сообщение «Press any key to begin copying file(s)» и ждет вашего ответа прежде чем начать копирование файлов.
/p : будет выдавать запрос перед созданием каждого файла.
/c : игнорирование ошибок.
/v : проверяет каждый файл после их записи на идентичность исходным. В Windows XP он не используется. Оставлен для совместимости с MS-DOS файлами
/q : тихий режим. Не выводит сообщения во время работы.
/f : отображает имена файлов при копировании.
/l : отобразить имена файлов которые будут копироваться.
/g : Копирование зашифрованных файлов в целевой каталог, не поддерживающий шифрование.
/d[:mm-dd-yyyy] : копировать файлы которые изменены позже указаной даты, включаю указанную. Если не указать значение mm-dd-yyyy (месяц-день-год), xcopy будет копировать файлы которые более новые чем в папке назначения. Вообщем эта команда позволяет обновить файлы, которые изменились.
/u : копировать только те файлы которые уже есть в папке назначения. Т.е. обновить их.
/i : если источник это директория или содержит wildcards ( ну типа * ) и целевой_объект не указан, то xcopy предполагает что целевой_объект это директория и создает ее. По умолчанию xcopy запрашивает у вас целевой_объект это директория или файл.
/s : директории и поддиректории в которых нет файлов будут пропущены. Если опустить этот параметр, xcopy работает внутри одной директории.
/k : при копировании сохраняется атрибут «только для чтения». По умолчанию он сбрасывается.
/r : перезапись файлов, предназначенных только для чтения.
/h : копировать скрытые и системные файлы. По умолчанию xcopy не копирует эти файлы.
/a : копировать файлы у которых имеется атрибут архива. Сам атрибут при этом сохраняется. Для установки этого атрибута можно использовать команду attrib.
/n : делает имена файлов и папок короткими. Может понадобиться в случае копирования с FAT на NTFS. Потомучто FAT ( 8.3 символа ) не поддерживает длинные имена как NTFS.
/o : копируется информация о пользователе файла и информация DACL (discretionary access control list).
/x : копирование параметров аудита файлов и информация SACL (подразумевает ключ /o ).
/y : чтобы не спрашивал когда нужно перезаписать уже существующий файл.
/z : копировать по сети в возобновляемом режиме.
/? : вывести помощь. Подсказки по параметрам команды.
Примеры использования xcopy
Как скопировать папку в другую папку, сохранив при этом ее разрешения
Когда копируете файлы и папки в проводнике Windows, разрешения этих файлов и папок изменятся. Файлы будут помечены как новые, и наследуют разрешения папки в которую копируем. В качестве создателя файла будет указана ваша учетка.
Примечание: У вас должны быть права на запись в папку которую собираетесь копировать файлы.
Пример
В современных версиях Windows удобнее использовать программу Robocopy
XCOPY все еще спрашивает (F = файл, D = каталог) подтверждение
Мой пакетный скрипт xcopy все еще запрашивает F = file, D = directory
6 ответов
Существуют следующие сценарии (в зависимости от предоставленных значений %source% и %target% ):
один исходный файл, местом назначения является файл:
переключатель /I бесполезен, поэтому вам нужно передать F в командную строку xcopy :
при условии, что задан переключатель /Y (для принудительной перезаписи), вы также можете заранее создать целевой файл (пустой файл)
один исходный файл, местом назначения является каталог:
переключатель /I тоже бесполезен; вы можете направить D в команду xcopy строка:
или вы можете просто добавить \ к месту назначения:
, хотя это вызывает проблемы, когда %target% указывает текущий каталог диска как D: например, потому что D: означает текущий каталог этого диска, тогда как D:\ означает его корневой каталог;
или вы заранее создаете каталог назначения:
часть 2> nul подавляет сообщение об ошибке, если каталог уже существует;
несколько исходных файлов, местом назначения является файл:
обычно это бессмысленная ситуация, потому что вы указываете xcopy копировать каждый исходный файл в один и тот же файл назначения, пытаясь таким образом перезаписать она;
несколько исходных файлов, местом назначения является каталог:
переключатель /I здесь имеет смысл:
опция pipe также работает здесь:
также добавляет \ к месту назначения (относительно ограничения, упомянутого выше):
или вы заранее создаете каталог назначения:
Заключение
Дополнение
В вашем фрагменте кода есть некоторые незначительные проблемы, о которых я хочу упомянуть здесь:
2″ удаляет потенциальное окружение
Вот код, в котором переработаны все вышеперечисленные вещи:
xcopy не знает, что целью является каталог. Вы поясните это, поставив в конце обратную косую черту:
Поставьте * позади целевого файла. Это подавляет вопрос и по умолчанию имеет значение «Файл».
по умолчанию папка.
Удаление имени файла назначения приведет к подавлению сообщения. Это работает для меня!
xcopy
Копирует файлы и каталоги, включая подкаталоги.
В разделе Примеры показан принцип использования этой команды.
Синтаксис
Параметры
Комментарии
Использование /z
Если вы потеряли подключение на этапе копирования (например, если сервер переходит в режим «вне сети»), то после повторного подключения Подключение возобновится. /z также отображает процент выполнения операции копирования для каждого файла.
Использование /y в переменной среды копикмд.
Копирование зашифрованных файлов
Копирование зашифрованных файлов на том, который не поддерживает EFS, приводит к ошибке. Сначала расшифровать файлы или скопировать их на том, который поддерживает EFS.
Чтобы добавить файлы, укажите один файл для назначения, но несколько файлов для источника (то есть с помощью подстановочных знаков или формата file1 + file2 + файл3).
Значение по умолчанию для назначения
Если опустить назначение, команда xcopy скопирует файлы в текущий каталог.
Указание того, является ли назначение файлом или каталогом
Если объект Destination не содержит существующий каталог и не заканчивается обратной косой чертой (), появляется следующее сообщение:
Нажмите клавишу F, если хотите скопировать файл или файлы в файл. Нажмите клавишу D, если хотите скопировать файл или файлы в каталог.
Использование команды xcopy для установки атрибута архива для целевых файлов
Команда xcopy создает файлы с установленным атрибутом Archive, независимо от того, был ли этот атрибут задан в исходном файле. Дополнительные сведения об атрибутах файлов и attribсм. в разделе Дополнительные ссылки.
Сравнение xcopy и diskcopy
Коды выхода для команды xcopy
Для обработки кодов завершения, возвращаемых xcopy, используйте параметр ERRORLEVEL в командной строке If в пакетной программе. Пример пакетной программы, обрабатывающей коды завершения с помощью If, см. в разделе Дополнительные ссылки. В следующей таблице перечислены все коды выхода и их описание.
Код выхода | Описание |
---|---|
0 | Файлы были скопированы без ошибок. |
1 | Не найдены файлы для копирования. |
2 | Пользователь нажал клавиши CTRL + C для завершения команды xcopy. |
4 | Произошла ошибка инициализации. Недостаточно памяти или места на диске, либо в командной строке введено недопустимое имя диска или недопустимый синтаксис. |
5 | Произошла ошибка записи на диск. |
Примеры
1. чтобы скопировать все файлы и подкаталоги (включая все пустые подкаталоги) с диска A на диск B, введите:
2. чтобы включить в предыдущий пример все системные или скрытые файлы, добавьте параметр командной строки/h следующим образом:
3. чтобы обновить файлы в каталоге \репортс с файлами в каталоге \равдата, которые были изменены с 29 декабря 1993 г., введите:
4. чтобы обновить все файлы, существующие в \репортс в предыдущем примере, независимо от даты, введите:
5. чтобы получить список файлов для копирования с помощью предыдущей команды (т. е. без фактического копирования файлов), введите:
Файл xcopy. out содержит список всех копируемых файлов.
6. чтобы скопировать каталог \кустомер и все подкаталоги в каталог \\публик\аддресс на сетевом диске H:, оставьте атрибут «только для чтения» и при создании нового файла в H: введите:
7. чтобы выполнить предыдущую команду, убедитесь, что команда xcopy создает каталог \аддресс, если он не существует, и подавление сообщения, отображаемого при создании нового каталога, добавьте параметр командной строки /i следующим образом:
8. можно создать пакетную программу для выполнения операций xcopy и использовать пакет If для обработки кода выхода при возникновении ошибки. Например, в следующей пакетной программе для параметров источника и назначения xcopy используются заменяемые параметры:
Чтобы использовать предыдущую пакетную программу для копирования всех файлов в каталоге К:\пргмкоде и его подкаталогов на диск B, введите:
9. в этом примере копируются все непустые каталоги, а также файлы, имя которых соответствует шаблону, заданному с помощью символа звездочки.
В предыдущем примере это конкретное значение исходного параметра .\ток *. yml копирует те же три файла, даже если их два символа пути . \ были удалены. Однако файлы не копируются, если из исходного параметра был удален подстановочный знак «звездочка», что делает его просто .\ток.ИМЛ.
Что означает имя файла или каталога xcopy
Сообщения: 1660
Благодарности: 190
——-
Когда у тебя есть только молоток, все похоже на гвоздь
Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.
echo F | xcopy что куда (в этом случае при запросе будет введено F, то есть файл) » |
Да это сработало! Только вот теперь не работает запрос подтверждения копирования, т.к. он на все вопросы отвечает F…
А если копируем файл, как будет выглядит команда? и будет ли в этом случае работать запрос на подтверждение копирования?
Жаль что choice в NT есть только в Resource Kit.