• Как скопировать файл в папку командная строка. Команда xcopy: параметры

    И в данном посте я рассмотрю замену и копирование файлов через командную строку, а именно, утилиты COPY и REPLACE. Но сперва, как всегда немого лирики.

    Пожалуй, любой программист сталкивался с вопросом написания функции для копирования каталога с файлами. Как правило, эти задачи решались при использовании рекурсии. В былые времена, не было мышки и правого клика со вкладкой «копировать, вырезать, вставить», да и синий Волков не сразу появился. Это теперь все так привычно, сидишь за клавиатурой, втыкаешь в зеленое поле Винды, клик туда, клик сюда, и все, задачу решил. Но, бывали и трудные ситуации, когда приходилось прибегать к синему менеджеру. Как не странно, но командная строка и ее утилиты от версии к версии меняют свой вид, Есть даже целый набор утилит типа PsUtils, которые эффективней стандартных ДОСовских. Логический вопрос, кому это все надо! Какой смысл изобретать современного динозавра, йоп те! С другой стороны, такова наша природа человеческая, мы готовы даже велосипед снова изобрести, лишь бы занять свой ум.

    Командная строка COPY

    Данный шедевр человеческой мысли позволяет произвести копирование (copy) через командную строку файла или файлов или даже их конкатенацию (объединение). Для решения подобных задач север сценариев предоставляет в распоряжение метод объекта FileSystemObject. Синтаксис утилиты командной строки copy, довольно устрашающий:

    COPY источник [+ источник [+ ...]] [результат ]

    Давайте начнем:

    /D – указывает на возможность создания зашифрованного файла.

    /Y | /-Y – если выбран первый параметр, то будут отсутствовать запросы системы на подтверждение во время копирования (проще говоря, если придется топкой 1000 файлов копировать, то на каждый не будет выпрыгивать надоедливое “а вы уверены, или, может, другу позвоните? ”), понятно, что второй параметр как раз то включает запрос подтверждения.

    /Z – позволяет копировать данные по сети, кстати, в предыдущих вариантах данной утилиты этого ключа не наблюдалось.

    – указывает, что файл является текстовым, если мы укажем данный параметр, то копирование прервется на метке конца файла ASCII код 26.

    Если же данный параметр указан в самом конце, то эффект совсем другой. Произойдет полное копирование документа, но в копии будет добавлена метка конца файла если ее не было. Как результат, можете попробовать поэкспериментировать с pdf документом (my_file.pdf – размер документа составляет 247217 байт):

    copy my_file.pdf/A new_file.pdf – на выходе мы получим документ new_file.pdf размером в 2538 байт.

    /B – данный ключ идет по умолчанию и указывает, что файл является бинарным. То есть, происходит копирование всего документа.

    /V – данный параметр включает проверку правильности копирования, сравнивая данные после завершения процедуры.

    И так командная строка, копирование файлов и парочка примеров:

    Копирование через командную строку файла 123.txt из текущего каталога в каталог D:\NEW под тем же именем:

    COPY 123.txt D:\NEW

    Копирование файла 123.txt из текущего каталога в каталог D:\NEW под новым именем new.txt:

    COPY 123.txt D:\NEW\new.txt

    Копирование всех документов с расширением txt с диска D:\ в каталог My Data на диске C:

    COPY D:\*.txt "С:\My Data"

    Допустим, мы находимся в каталоге D:\NEW и нам надо копирнуть в него все данные из каталога C:\DATA, в таком случае достаточно прописать следующий синтаксис:

    COPY C:\DATA *.*

    Используя командную строку, копируемые файлы можно склеить. Для этих целей достаточно использовать знак плюса «+», например:

    COPY 1.txt +2.txt 3.txt – в данном примере содержимое документов 1.txt и 2.txt было объединено в 3.txt. Стоит помнить, что по дефолту, утилита COPY воспринимает данные как текстовые.

    Вот пример с двоичными данными:

    COPY /В *.dat all.dat – в данном варианте все данные с расширением dat из текущей папки были объединены в один файл all.dat.

    Вообще, используя символ плюса «+» и мысли типа «а что если», можно проделать парочку экспериментов. Также стоит помнить ряд моментов:

    Если название целевого объекта совпадает с одним из копируемых (кроме первого), то исходное содержимое целевого объекта будет утеряно.

    Если имя целевого объекта опущено, то в его качестве будет использован первый объект из списка:.

    COPY 1.txt +, – данная конструкция позволяет присвоить объекту 1.txt текущую дату без его модификации.

    Утилита COPY по своему первенству содержит ряд недостатков:

    • нельзя производить копирование файлов через командную строку с атрибутами скрытый или системный, а также системных и с атрибутом «Только для чтения».
    • обрыв всего процесса копирования при встрече с объектом, который в данный момент не поддается копированию.

    В связи с такими неудобствами, умные люди подумали, и прибавили букву Х к названию COPY, чем решили массу проблем, создав .

    Командная строка REPLACE

    Фактически, отличие данной утилиты в том, что она умеет заменять данные. Синтаксис довольно простой и понятный:

    REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2]

    REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2]

    [диск1:] [путь1]имя_файла – определяем местонахождении копируемого объекта, или объектов.

    [диск2:] [путь2] - определяем местонахождении объекта-результата. Как видно, имена замещаемых объектов задавать нельзя.

    – добавляем в каталог-результат только новые объекты из каталога-результата (без перезаписи). Этот ключ нельзя использовать с ключами /S и / U .

    – выводится запрос на подтверждение перед заменой целевого или добавлением исходного файла.

    /R – замещение не только обычных, но и защищенных от записи документов.

    /S – позволяет производить поиск по всем подкаталогам целевого каталога и заменять файлы с совпадающими именами. Этот ключ нельзя использовать совместно с ключом . Поиск в каталогах, заданных параметром путь1, не производится.

    /W – ожидание вставки диска перед началом выполнения

    /U – режим обновления, то есть будут заменены только те объекты, которые имеют более раннюю дату модификации. Несовместимость с ключом /A .

    Replace D:\Data\my_file.txt D:\Work – в папке Work заменяем файл my_file.txt на D:\Data\my_file.txt

    При копировании файлов через командную строку посредством утилиты REPLACE, отсутствует возможность обновления скрытых или системных файлов. Для этого надо предварительно сменить их атрибуты.

    Копирование одного или нескольких файлов из одного расположения в другое.

    Синтаксис

    copy [/d ] [/v ] [/n ] [{/y | /-y }] [/z ] [{/a |/b }] источник [{ /a |/b }] [+ источник [{/a |/b }] [ + ...]] [назначение [{/a |/b }]]

    Параметры

    /d Сохранение копируемых шифрованных файлов как расшифрованных в месте назначения. /v Проверка правильности копирования путем сравнения копий файлов. /n Использование короткого имени (при наличии) копируемого файла, если его имя превышает 8 символов или его расширение превышает 3 символа. /y Отмена вывода запроса на подтверждение перезаписи существующего конечного файла. /-y Вывод запроса на подтверждение перезаписи существующего конечного файла. /z Копирование файлов по сети в режиме перезапуска. /a Указание текстового файла в формате ASCII. /b Указание двоичного файла. источник Обязательный параметр. Задание расположение файла или набора файлов, которые требуется скопировать. Параметр источник может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации. назначение Обязательный параметр. Задание расположения, в которое требуется скопировать файл или набор файлов. Параметр назначение может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации. /? Отображение справки в командной строке.

    Примечания

    • Имеется возможность скопировать текстовый файл, в котором используется символ конца файла (CTRL+Z) для обозначения конца файла.
    • Использование параметра /a

      Если параметр /a /b команды copy . В этом случае /b /b .

      Если параметр /a /b команды copy . В этом случае /b применяется к файлу, предшествующему /b .

      /a /a стоит после параметра источник , команда copy обрабатывает файл как текстовый в формате ASCII и копирует данные, которые находятся перед первым символом конца файла.

      Если параметр /a расположен после параметра назначение , команда copy добавляет символ конца файла как последний символ файла.

    • Использование параметра /b

      Параметр /b задает считывание командным процессором количества байт, равного размеру файла в каталоге. Параметр /b задается по умолчанию для команды copy , за исключением случаев использования copy для слияния файлов.

      Если параметр /b стоит перед списком файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy . В этом случае /a применяется к файлу, предшествующему /a .

      Если параметр /b стоит после списка файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy . В этом случае /a применяется к файлу, предшествующему /a .

      Результат применения параметра /b зависит от его положения в командной строке. Если параметр /b стоит после параметра источник , команда copy копирует файл целиком, включая все символы конца строки.

      Если параметр /b стоит после параметра назначение , команда copy не добавляет символ конца строки.

    • Использование параметра/v

      Если операция записи не может быть проверена, выводится сообщение об ошибке. Хотя ошибки записи редко возникают при работе с командой copy , параметром /v можно воспользоваться для проверки правильности записи важных данных. Параметр /v также завершает работу команды copy , поскольку необходимо проверить каждый сектор, записанный на диск.

    • Использование параметров /y и /-y

      Если параметр /y установлен заранее в переменной среды COPYCMD, можно переопределить эту настройку, указав параметр /-y в командной строке. При переопределении данной настройки по умолчанию выводится запрос, за исключением исключением случаев выполнения команды copy в пакетном файле.

    • Объединение файлов

      Чтобы объединить файлы, укажите один файл в параметре назначение и несколько в параметре источник (используя подстановочные знаки или формат файл1 + файл2 + файл3 ).

    • Использование параметра /z

      Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит в автономный режим, разрывая подключение), команда copy /z позволяет продолжить копирование после восстановления подключения. Кроме того, параметр /z позволяет отобразить сведения о завершении операции копирования в процентах для каждого файла.

    • Использование внешних устройств в операциях копирования

      В качестве параметров источник и назначение можно указать имена устройств.

    • Использование параметра /b при копировании на устройство

      Если в параметре назначение указано устройство (например Com1 или Lpt1), параметр /b позволяет скопировать данные на это устройство в двоичном режиме. В двоичном режиме команда copy /b копирует все символы (включая управляющие символы, такие как CTRL+C, CTRL+S, CTRL+Z и перевод строки) на устройство как данные. Однако если параметр /b не указан, данные копируются на устройство в формате ASCII. В этом режиме управляющие символы могут вызвать слияние файлов в системе Windows XP в процессе копирования. Дополнительные сведения смотрите в разделе «Слияние файлов».

    • Использование стандартного имени конечного файла

      Если конечный файл не задан, по умолчанию файлы будут скопированы с тем же именем, датой и временем создания в текущий каталог на текущем диске. Если исходный файл находится в текущем каталоге на текущем диске, выполнение команды copy завершается и выводится следующее сообщение об ошибке:

      Невозможно скопировать файл в себя

      Скопировано файлов: 0

    • Слияние файлов

      Если введено несколько параметров источник , разделенных знаком плюс (+), команда copy объединяет файлы в один. Если в параметре источник использованы подстановочные знаки (* или?), а в параметре назначение задан один файл, команда copy объединит все файлы, удовлетворяющие шаблону в параметре источник , в один с именем, указанным в параметре назначение . В обоих случаях, если не задан параметр /b , команда copy объединяет файлы как текстовые.

    • Копирование файлов нулевой длины

      Команда Copy не копирует файлы, которые имеют длину, равную 0 байт. Для выполнения этой операции служит команда xcopy .

    • Изменение даты и времени модификации файла

      Если требуется установить текущую дату и время в качестве даты модификации файла без изменения его содержимого, воспользуйтесь следующим синтаксисом:

      copy /b источник + ,

      Запятые заменяют параметр назначение .

    • Копирование файлов в подкаталогах

      Для копирования всех файлов каталога и его подкаталогов служит команда xcopy . Дополнительные сведения о команде xcopy смотрите .

    • Команда copy с другими параметрами доступна в консоли восстановления.

    Примеры

    Чтобы скопировать файл Memo.doc в файл Letter.doc на текущем диске и убедиться, что символ конца файла находится в конце скопированного файла, введите следующую команду:

    copy memo.doc letter.doc /a

    Чтобы скопировать файл Robin.typ с текущего каталога на текущем диске в существующий каталог Birds на диске C, введите следующую команду:

    copy robin.typ c:\birds

    Если каталог Birds не существует, файл Robin.typ будет скопирован в файл с именем Birds в корневой каталог диска C.

    Чтобы скопировать несколько файлов в один, перечислите несколько файлов в параметре источник , разделяя их имена значком плюс (+), и укажите в параметре назначение файл, который должен содержать результат объединения этих файлов. Например, чтобы объединить файлы Mar89.rpt, Apr89.rpt и May89.rpt из текущего каталога на текущем диске и поместить их в файл Report в текущем каталоге на текущем диске, введите следующую команду:

    copy mar89.rpt + apr89.rpt + may89.rpt report

    При объединении команда copy создает конечный файл с текущими датой и временем. Если параметр назначение не указан, файлы объединяются и сохраняются в файле с именем первого файла в списке. Например, чтобы объединить четыре файла в файле Report, если такой файл уже существует, введите следующую команду:

    copy report + mar89.rpt + apr89.rpt + may89.rpt

    Кроме того, несколько файлов можно объединить в один с помощью символов подстановки (* или?). Например, чтобы объединить все файлы с расширением.txt в текущем каталоге на текущем диске в файл Combin.doc, введите следующую команду:

    copy *.txt combin.doc

    Если требуется объединить несколько двоичных файлов в один с использованием подстановочных знаков, воспользуйтесь параметром /b . В результате CTRL+Z не будет рассматриваться как символ конца файла в Windows XP. Например, введите следующую команду:

    copy /b *.exe combin.exe

    Внимание!

    • Если объединяются двоичные файлы, результат может оказаться непригодным из-за нарушения внутреннего форматирования.

    В следующем примере команда copy объединяет каждый файл с расширением.txt с соответствующим ему файлом с расширением.ref. Результатом является файл с тем же именем, но с расширением.doc. Таким образом, команда copy объединит файлы File1.txt и File1.ref в файл File1.doc, затем файлы File2.txt и File2.ref в файл File2.doc и т. д. Например, введите следующую команду:

    copy *.txt + *.ref *.doc

    Чтобы объединить сначала все файлы с расширением.txt, а затем все файлы с расширением.ref в файл Combin.doc, введите следующую команду.

    Содержимое:

    Командная строка Windows – это мощный инструмент, посредством которого можно контролировать систему (без использования проводника). Изучив команды копирования, вы сможете удаленно работать с Windows. Это также полезно, если вы хотите повысить эффективность работы на вашем компьютере.

    Шаги

    Перед началом

    1. 1 Определите, какую команду использовать. Есть несколько способов копирования файлов через командную строку. Любая команда скопирует файлы, но, возможно, в определенных случаях вы предпочтете какую-то конкретную команду.
      • COPY – это основная команда копирования. Она позволит скопировать, а также объединить файлы.
      • ХCOPY – эта команда позволит скопировать файлы и папки. Также у этой команды есть множество параметров, которые предоставляют повышенный контроль над процессом копирования. Эта команда считается устаревшей, но все равно используется.
      • ROBOCOPY – это новейшая команда копирования, доступная в Windows Vista или более поздней версии. Пользователи Windows XP могут установить пакет, чтобы пользоваться этой командой. Эта команда копирует файлы и папки, сохраняя права доступа и другие атрибуты. Она также предназначена для надежного копирования больших объемов данных.

    1 COPY

    1. 1 Скопируйте один файл. Команду copy лучше всего использовать при копировании одного файла. Чтобы использовать эту команду, введите copy источник цель. Например, чтобы скопировать файл example.txt из папки C:UsersDesktop в папку D:Backup, введите следующую команду: copy C:UsersdesktopExample.txt D:ackupExample.txt
      • Необходимо ввести имена копируемого и конечного файлов. Так можно переименовать копируемый файл (если хотите).
      • Чтобы скопировать файл из текущей (активной) папки, просто введите имя файла (вместо «источник»). Например, если в рассмотренном выше примере вы находитесь в папке C:UsersDesktop, то команда копирования будет выглядеть так: copy Example.txt D:ackupExample.txt
    2. 2 Скопируйте все файлы в папке. Для этого используйте групповой символ *.* . Например, чтобы скопировать все файлы из папки C:UsersDesktop в папку D:Backup, введите следующую команду: copy C:Usersdesktop*.* D:ackup
      • Команда copy не копирует скрытые файлы. Для этого используйте команду xcopy или robocopy .
      • Можно скопировать все файлы из текущей (активной) папки, просто введя *.* (вместо «источник»). Например, если в рассмотренном выше примере вы находитесь в папке C:UsersDesktop, то команда копирования будет выглядеть так: copy *.* D:ackup .
    3. 3 Скопируйте файлы, если в именах файлов или папок (начальных или конечных) присутствуют пробелы. В этом случае заключите пути к файлам/папкам в кавычки. Например, чтобы скопировать все файлы из папки C:UsersMy Documents в папку D:2015 Backup, введите команду: copy "C:UsersMy Documents*.*" "D:2015 Backup"
    4. 4 Объедините текстовые файлы. Команда copy может объединять любые файлы, но это особенно полезно в случае с текстовыми файлами. Благодаря следующей команде тексты из первого и второго файлов будут объединены в одном новом файле. copy file1.txt+file2.txt newFile.txt
      • Эта команда предполагает, что файлы file1.txt и file2.txt находятся в текущей (активной) папке. Если это не так, вводите имена файлов с полными путями к ним.

    2 XCOPY

    1. 1 Скопируйте один файл. Чтобы скопировать один файл, лучше пользоваться командой copy . Команда xcopy не позволит указать, задаете ли вы в качестве места назначения папку или файл.
    2. 2 Используйте команду robocopy , если вы создаете скрипты резервного копирования. Команда xcopy устарела и, вероятно, выйдет из употребления в ближайшем будущем. Команда robocopy умеет делать все, что делает команда xcopy .
    3. 3 Скопируйте папку. Основное применение команды xcopy – это копирование папок. Например, чтобы скопировать папку C:Tools в новую папку D:BackupTools, введите следующую команду: xcopy C: ools* D:ackup ools /e /i
      • Параметр /e сообщает команде xcopy , что необходимо скопировать все подпапки (включая пустые подпапки).
      • Параметр /i сообщает команде xcopy , что местом назначения является папка. Таким образом, команда автоматически создаст новую папку.
      • Эта команда наиболее полезна при копировании файлов с CD/DVD-диска. Она также автоматически снимет атрибут «Только для чтения».
    4. 4 Скопируйте скрытые файлы. Одним из самых больших преимуществ xcopy над copy является возможность копировать скрытые и системные файлы. Добавьте параметр /h , чтобы скопировать скрытые файлы. xcopy C: ools* D:ackup ools /e /i /h

    3 ROBOCOPY

    1. 1 При помощи команды robocopy легко копировать папки. Команда robocopy заменяет команду xcopy . Например, чтобы скопировать папку C:Tools в новую папку D:BackupTools, введите следующую команду: robocopy C: ools D:ackup ools /e
      • Параметр /e сообщает команде, что необходимо скопировать все подпапки (включая пустые подпапки).
      • Эта команда автоматически копирует скрытые и системные файлы. Она автоматически создает новые папки, если их нет в указанном месте назначения.
    2. 2 Отзеркаливание директории. Оно отлично подходит для создания резервных копий. В этом случае команда robocopy скопирует все содержимое из источника в указанное место назначение. При этом любой контент, хранящийся в месте назначения, но которого нет в источнике, будет удален. Это гарантирует, что резервная копия будет иметь только последние версии файлов. Например, чтобы отзеркалить директорию C:UsersMy Documents в папке D:BackupMy Documents, введите: robocopy "C:UsersMy Documents" "D:ackupMy Documents" /mir
      • Эта команда сохранит все разрешения исходных файлов.
    3. 3 Включите перезапуск. Можно включить перезапуск копирования, если что-то произошло в процессе предыдущего копирования. robocopy "C:UsersMy Documents" "D:ackupMy Documents" /z
    4. 4 Запишите процесс копирования. Команда robocopy позволяет создавать журналы процессов копирования. Это поможет вам определить источник проблем с копированием или создать архив со списком скопированного контента. robocopy "C:UsersMy Documents" "D:ackupMy Documents" /log+:.txt
      • Параметр /log+ добавит информацию в существующий журнал (без удаления предыдущих записей). Если вы хотите перезаписать старый журнал, используйте /log:<имя_файла>.txt .

    В отличии от утилиты COPY, команда XCOPY тоже дает возможность скопировать файл через командную строку, но имеет большее количество функции. Однако, стоит отметить, что XCOPY дает возможность работать лишь с файлами и каталогами, но не с устройствами (например, принтер). Но, как всегда, сначала немного лирики…

    В былые времена у меня был диск с операционной системой Windows XP Sp1, в то время не было установочных дисков с авто запуском, поэтому приходилось сначала входить в командную оболочку, а уже потом запускать на диске установочный файл. Диск был довольно уже пошарпан, виднелись маленькие дырочки, но как не странно, с помощью старого доброго Волков Коммандера мне удавалось скопировать все файлы через командную строку, хотя и не с первой попытки. Мало того, порой были времена когда система слетала под корень, и мне приходилось вручную производить копирование с одного винта на другой, занимало это сутки…

    Командная строка xcopy

    XCOPY источник [результат] ] ]

    [+ файл 3]...]

    Источник – указываем путь к файлу (файлам), который нужно скопировать.

    Результат – указываем место, куда нужно скопировать файл через командную строку. Если данный параметр отсутствует, то документы будут дублироваться в текущий каталог.

    /V – как и в предшествующей версии, данный параметр отвечает за проверку телесности документов, но, уже не является обязательным, поскольку проверка осуществляется самой системой. Он остался лишь для совместимости с предыдущими версиями MS-DOS.

    /EXCLUDE:файл1[+файл 2][+ файл 3]… – позволяет исключить несколько файлов или папок из процесса копирования. Тут все просто, надо только указать имена объектов, которые следует исключить, но, нельзя использовать спецсимволы, типа «*» и «?». Ключи файл1, файл2, … указывают на документы, в которых прописаны строки, каждая строка должна находится в отдельной линии. Если же хоть одна из строк будет совпадать с любой частью абсолютного пути копируемого документа, то скопировать с помощью командной строки данный файл не получится. Допустим в каталоге D:DATA есть три документа с расширением txt: data1.txt, data2.txt и data3.txt. Откроем CMD и пропишем в ней следующие команды:

    echo data1.txt>exclude.txt

    echo data2.txt>>exclude.txt

    В данном примере мы создали в текущем каталоге текстовый документ exlude.txt, в котором прописаны две строчки data1.txt и data2.txt. Символ «>>» отличается от символа «>» только тем, что дописывает данные в конец документа, а не затирает все содержимое новой информацией. Ладно, теперь попробуем выполнить следующие директивы:

    XCOPY *.txt D:DATA /EXCLUDE: exclude.txt – в данном примере из текущей папки в папку D:DATA мы скопировали все документы с расширение txt кроме файлов data1 и data2.

    Другой пример, если указать строки вида OBJ или.OBJ, то из процесса будут исключены все объекты из папки OBJ и все объекты с расширением.OBJ.

    /Z – позволяет дублировать сетевые документы с возобновлением.

    Как известно, файловая система приписывает каждому файлу/документу владельца, как правило, это тот пользователь, который создал данный документ. При использовании команд и XCOPY командной строки информация о старом владельце затирается, и владельцем копии становится тот юзер, под учетной записью которого собственно и производилось копирование файлов из командной строки.

    и /M – задаем режим для архивных документов. Первый ключ после дублирования объекта оставляет у него атрибут «Архивный», второй же ключ отключает этот атрибут по завершении процесса манипуляций.

    /O – данный параметр позволяет скопировать только те данные, которые были изменены не ранее указанной даты (дата у указывается в атрибуте /D[:дата], если сама дата не указана, то копирование будет производиться, только если источник новее результата). Например:

    XCOPY "С:My document*.*" "D:RESERVEMy document" /D

    Тут будет произведено копирование только тех файлов через командную строку, которые были изменены со времени последнего подобного манипулирования или которых вообще не было в D: RESERVEMy document.

    /S – данный ключ указывает, что кроме документов надо произвести и копирование папки, при условии, что она (они) не является пустой.

    – данный ключ подобен предыдущему, с той только разницей, что позволяет произвести копирование пустой папки через командную строку.

    /W – будет включен режим запроса на нажатие любой клавиши перед началом дублирования.

    /C – процесс копирования будет продолжен, даже если произошла ошибка

    /I Данный ключ говорит, что объект назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех объектов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT:

    XCOPY *.txt TEXT /I

    то подкаталог TEXT будет создан без дополнительных запросов.

    /Q – этот ключ не будет отображать имена во время процесса

    /F – этот ключ будет отображать полные пути источника и результата во время процесса

    /L – это ключ всего-навсего отобразит те документы, которые надо скопировать, при этом сам процесс не произойдет.

    /H – позволяет дублировать скрытые и системные документы.

    /K - заменять объекты с атрибутом “Только для чтения”

    /T – создает слепок структуры копируемых папок, но, самих документов не копирует, также не включаются пустые каталоги. Для того чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /Е .

    /U – обновляет содержимое каталога, то есть, копирует лишь те файлы, что уже имеются в каталоге.

    /Y и /-Y определяют, нужно ли запрашивать подтверждение перед заменой. /Y означает, что такой запрос нужен, /-Y - не нужен.

    /N – копирование с помощью командной строки с использованием сгенерированных коротких имен.

    Как уже упоминалось выше, при использовании утилит COPY и XCOPY информация о прежнем владельце затирается. Что бы этого не происходило, можно воспользоваться командой SCOPY из пакета Resource Kit , которая имеет следующий синтаксис:

    SCOPY источник [результат]

    – позволяет дублировать информацию о владельце

    – дублирование информации связанной с аудитом доступа к файлу или каталогу

    /S – копирование файлов через командную строку из всех подкаталогов указанного каталога.

    Запись в потоки NTFS

    И еще, хотелось бы вспомнить о таком понятии как «копирование в потоки». Данный вопрос я частично затронул в статье с примерами по при описании метода объект FileSystemObject. Данная возможность предоставляется только на файловой системе NTFS. В простом варианте суть дела такова, к каждому документу или диску можно привязать свой поток, и записать информацию непосредственно в поток, то есть, информация будет записана, но сам документ не изменит своего размера. Давайте проделаем простенький эксперимент, пропишем в командной строке:

    echo “Hellow, word”>new.txt:potok.txt – в данном примере мы создали текстовый документ new.txt, а фразу Hellow, word скопировали в поток potok.txt. Если выполнить команду notepad new.txt, то мы ничего не увидим, но, если выполнить так:

    notepad new.txt.potok.txt – то мы увидим заветную фразу Hellow, word.

    Командная строка xcopy команда.

    При удалении файла, удаляется и поток, привязанный к нему. Есть один довольно примитивный способ узнать, что в нашем якобы пустом документе что-то зашито, это поместить его в архив, как результат, нулевой размер документа увеличится при архивировании.

    Команда COPY при работе в командной строке позволяет копировать один или несколько файлов. Команда имеет синтаксис: COPYисточник[+ источник [+ ...]][результат ]. Источником является имя копируемого файла, а результатом является каталог, в который будет помещена копия этого файла и/или имя создаваемого файла.

    Для примера, создадим на диске «С» какой-нибудь файл (я создал текстовый файл «robot.txt»), а на диске «D» какую-нибудь папку (я создал папку «folder1»). Тогда команда для копирования файла «robot.txt» в папку «folder1» выглядит так: copy robot.txt d:\folder1

    Если необходимо скопировать файл, изменив при этом его имя, необходимо записать следующую команду: copy robot.txt d:\folder1\file.txt В этом случае, файл «robot.txt» будет скопирован в папку «folder1», но уже с именем «file.txt».

    Для того чтобы скопировать все файлы с выбранным расширением, необходимо вместо названия файла поставить звездочку «*». Например, создадим на диске «С» какую-нибудь папку (я создал папку «papka») и скопируем в нее все текстовые файлы из папки «folder1», расположенной на диске «D». Команда будет иметь вид: copy d:\folder1\*.txt c:\papka

    Если в качестве [результата] не указывать каталог, то команда copy скопирует файл (или файлы) и поместит их в текущем каталоге. При этом скопированные файлы будут иметь то же имя, дату и время создания, что и исходный файл. Например, создадим в папке «folder1», расположенной на диске «D» текстовый файл с именем «robot1.txt». После этого в командной строке изменим текущий каталог с «C:\>» на «C:\Papka». Тогда команда copy d:\folder1\robot1.txt скопирует файл «robot1.txt» из папки «folder1» и поместит его в текущем каталоге, т.е. в папку «papka», расположенную на диске «C». Причем, имя, дата и время создания скопированного файла будет идентично исходному файлу.

    Для того чтобы скопировать все файлы из определенного каталога, необходимо вместо названия файла поставить звездочку «*» и вместо расширения файла поставить звездочку «*». Например, создадим в папке «folder1» несколько файлов, имеющих различные расширения (документ Word, архив Rar и т.д.). Тогда команда для копирования всех файлов из папки «folder1» на диск «C» будет выглядеть: copy d:\folder1\*.* c:\


    [Источником] или [результатом] копирования могут выступать не только файлы, но и различные устройства компьютера. В Windows поддерживаются следующие имена устройств:

    • LPT1 – LPT3 (параллельные порты).
    • COM1 – COM3 (последовательные порты).
    • CON (терминал, при выводе это экран компьютера, при вводе – клавиатура).
    • PRN (принтер).
    • AUX (устройство, подсоединяемое к последовательному порту 1).

    Например, с помощью командной строки и команды «copy» можно создать текстовый файл и записать в него информацию : copy con f1.txt . Команда copy con f1.txt создаст текстовый файл «f1.txt» и скопирует в него символы, которые вы будете вводить с клавиатуры.

    После ввода команды copy con f1.txt нажимаем Enter и вводим слова, которые необходимо сохранить (я ввел command com). После ввода необходимо поставить признак конца файла (нажать Ctrl+Z).
    C помощью команды copy можно объединять несколько файлов в один файл . Например, создадим на диске «C» два файла f2.txt и f3.txt (файл f1.txt мы создали ранее) и запишем в эти файлы какую-нибудь информацию. Тогда команда copy f1.txt+f2.txt+f3.txt d:\f4.txt скопирует содержимое файлов «f1.txt», «f2.txt», «f3.txt» в файл «f4.txt», который будет автоматически создан на диске «D».

    Если при объединении файлов не указывать файл - [результат], то вся информация будет сохранена в первом файле. Например, команда copy f1.txt+f2.txt+f3.txt добавит к содержимому файла f1.txt содержимое файлов f2.txt и f3.txt

    Ключ /Y отключает вывод сообщения о замене файлов. По умолчанию, при копировании файлов, если такой файл существует, то на экран выводится сообщение с предупреждением о замене. Пользователь может согласиться с заменой (нажать Y) или не согласиться (нажать N). Ключ /Y отключает это сообщение и копирование происходит сразу. Для примера создадим на диске «C» файл vov.txt и скопируем его на диск «D»: copy vov.txt d:\
    Затем скопируем этот файл еще раз. При этом выводится сообщение «Заменить d:\vov.txt }