Команда COPY CON–создание текстовых файлов. Утилита XCopy или как скопировать папку в командной строке
В командной строке Windows NT/2000/XP можно использовать специальные символы, которые позволяют вводить несколько команд одновременно и управлять работой команд в зависимости от результатов их выполнения. С помощью таких символов условной обработки можно содержание небольшого пакетного файла записать в одной строке и выполнить полученную составную команду.
Используя символ амперсанда &
, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Например, если набрать команду DIR & PAUSE & COPY /
? и нажать клавишу
Символ ^ позволяет использовать командные символы как текст, то есть при этом происходит игнорирование значения специальных символов. Например, если ввести в командной строке
ECHO Абв & COPY /?
и нажать клавишу
ECHO Абв ^& COPY /?
то на экран будет выведено
Абв & COPY /?
В этом случае просто выполняется одна команда ECHO с соответствующими параметрами.
Условная обработка команд в Windows осуществляется с помощью символов && и || следующим образом. Двойной амперсанд && запускает команду, стоящую за ним в командной строке, только в том случае, если команда, стоящая перед амперсандами была выполнена успешно. Например, если в корневом каталоге диска C: есть файл plan.txt, то выполнение строки TYPE C:\plan.txt && DIR приведет к выводу на экран этого файла и содержимого текущего каталога. Если же файл C:\plan.txt не существует, то команда DIR выполняться не будет.
Два символа || осуществляют в командной строке обратное действие, т.е. запускают команду, стоящую за этими символами, только в том случае, если команда, идущая перед ними, не была успешно выполнена. Таким образом, если в предыдущем примере файл C:\plan.txt будет отсутствовать, то в результате выполнения строки TYPE C:\plan.txt || DIR на экран выведется содержимое текущего каталога.
Отметим, что условная обработка действует только на ближайшую команду, то есть в строке
TYPE C:\plan.txt && DIR & COPY /?
команда COPY / ? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt .
Несколько утилит можно сгруппировать в командной строке с помощью скобок. Рассмотрим, например, две строки:
TYPE C:\plan.txt && DIR & COPY /? TYPE C:\plan.txt && (DIR & COPY /?)
В первой из них символ условной обработки && действует только на команду DIR , во второй - одновременно на две команды: DIR и COPY .
Примеры команд для работы с файловой системой
Рассмотрим некоторые наиболее часто используемые команды для работы с файловой системой. Отметим сначала несколько особенностей определения путей к файлам в Windows.
Пути к объектам файловой системы
Напомним, что файловая система логически имеет древовидную структуру и имена файлов задаются в формате [диск:][путь\]имя_файла , то есть обязательным параметром является только имя файла. При этом, если путь начинается с символа "\" , то маршрут вычисляется от корневого каталога, иначе - от текущего каталога. Например, имя C:123.txt задает файл 123.txt в текущем каталоге на диске C:, имя C:\123.txt - файл 123.txt в корневом каталоге на диске C:, имя ABC\123.txt - файл 123.txt в подкаталоге ABC текущего каталога.
Существуют особые обозначения для текущего каталога и родительского каталогов. Текущий каталог обозначается символом. (точка), его родительский каталог - символами.. (две точки). Например, если текущим каталогом является C:\WINDOWS, то путь к файлу autoexec.bat в корневом каталоге диска C: может быть записан в виде..\autoexec.bat.
В именах файлов (но не дисков или каталогов) можно применять так называемые групповые символы или шаблоны: ? (вопросительный знак) и * (звездочка). Символ * в имени файла означает произвольное количество любых допустимых символов, символ? - один произвольный символ или его отсутствие. Скажем, под шаблон text??1.txt подходят, например, имена text121.txt и text911.txt, под шаблон text*.txt - имена text.txt, textab12.txt, а под шаблон text.* - все файлы с именем text и произвольным расширением.
Для того, чтобы использовать длинные имена файлов при работе с командной строкой, их нужно заключать в двойные кавычки. Например, чтобы запустить файл с именем "Мое приложение.exe" из каталога "Мои документы", нужно в командной строке набрать "C:\Мои документы\Мое приложение.exe"
и нажать клавишу
Перейдем теперь непосредственно к командам для работы с файловой системой.
Команда CD
Текущий каталог можно изменить с помощью команды
CD [диск:][путь\]
Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.
Команда COPY
Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY .
Синтаксис этой команды:
COPY источник [+ источник [+ ...]] [результат ]
Краткое описание параметров и ключей команды COPY приведено в табл. 2.1.
Параметр | Описание |
---|---|
источник | Имя копируемого файла или файлов |
/A | Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 ( |
/B | Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла |
результат | Каталог для размещения результата копирования и/или имя создаваемого файла |
/V | Проверка правильности копирования путем сравнения файлов после копирования |
/Y | Отключение режима запроса подтверждения на замену файлов |
/-Y | Включение режима запроса подтверждения на замену файлов |
Приведем примеры использования команды COPY .
- Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:
COPY abc.txt D:\PROGRAM
- Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:
COPY abc.txt D:\PROGRAM\def.txt
- Копирование всех файлов с расширением txt с диска A: в каталог "Мои документы" на диске C:
COPY A:\*.txt "C:\Мои документы"
Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую краткую команду:
В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN : COPY abc.txt PRN
Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду COPY CON my.txt
, которая будет копировать то, что вы набираете на клавиатуре, в файл my.txt (если этот файл существовал, то он перезапишется, иначе - создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши
Команда COPY может также объединять (склеивать) несколько файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:
COPY 1.txt+2.txt 3.txt
Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:
COPY /B *.dat all.dat
Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлы текстовыми.
Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и времени без модификации его содержимого. Для этого нужно ввести команду типа
COPY /B 1.txt +,
Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.
Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.
Команда XCOPY
Указанные при описании команды COPY проблемы можно решить с помощью команды XCOPY , которая предоставляет намного больше возможностей при копировании. Необходимо отметить, правда, что XCOPY может работать только с файлами и каталогами, но не с устройствами.
Синтаксис этой команды:
XCOPY источник [результат] [ключи]
Команда XCOPY имеет множество ключей, мы коснемся лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать только файлы, измененные не ранее указанной даты. Если параметр дата не указан, то копирование будет производиться только если источник новее результата. Например, команда
XCOPY "C:\Мои документы\*.*" "D:\BACKUP\Мои документы" /D
скопирует в каталог "D:\BACKUP\Мои документы" только те файлы из каталога "C:\Мои документы", которые были изменены со времени последнего подобного копирования или которых вообще не было в "D:\BACKUP\Мои документы".
Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.
Если указан ключ /C , то копирование будет продолжаться даже в случае возникновения ошибок. Это бывает очень полезным при операциях копирования, производимых над группами файлов, например, при резервном копировании данных.
Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT,
XCOPY *.txt TEXT /I
то подкаталог TEXT будет создан без дополнительных запросов.
Ключи /Q , /F и /L отвечают за режим отображения при копировании. При задании ключа /Q имена файлов при копировании не отображаются, ключа /F - отображаются полные пути источника и результата. Ключ /L обозначает, что отображаются только файлы, которые должны быть скопированы (при этом само копирование не производится).
С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R - заменять файлы с атрибутом "Только для чтения". Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести следующую команду:
XCOPY C:\*.* D:\SYS /H
Ключ /T позволяет применять XCOPY для копирования только структуры каталогов источника, без дублирования находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /E .
Используя XCOPY можно при копировании обновлять только уже существующие файлы (новые файлы при этом не записываются). Для этого применяется ключ /U . Например, если в каталоге C:\2 находились файлы a.txt и b.txt, а в каталоге C:\1 - файлы a.txt, b.txt, c.txt и d.txt, то после выполнения команды
Команда 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 [путь\]имя_файла, то есть обязательным параметром является только имя файла. При этом, если путь начинается с символа "\", то маршрут вычисляется от корневого каталога, иначе
От текущего каталога. Например, имя C:123.txt задает файл 123.txt в текущем каталоге на диске C:, имя C:\123.txt - файл 123.txt в корневом каталоге на диске C:, имя ABC\123.txt - файл 123.txt в подкаталоге ABC текущего каталога.
Существуют особые обозначения для текущего каталога и родительского каталогов. Текущий каталог обозначается символом. (точка), его родительский каталог - символами.. (две точки). Например, если текущим каталогом является C:\WINDOWS, то путь к файлу autoexec.bat в корневом каталоге диска
C: может быть записан в виде..\autoexec.bat.
В именах файлов (но не дисков или каталогов) можно применять так называемые групповые символы или шаблоны: ? (вопросительный знак) и * (звездочка). Символ * в имени файла означает произвольное количество любых допустимых символов, символ? - один произвольный символ или его отсутствие. Скажем, под шаблон text??1.txt подходят, например, имена text121.txt и text911.txt, под шаблон text*.txt - имена text.txt, textab12.txt, а под шаблон text.* - все файлы с именем text и произвольным расширением.
Для того, чтобы использовать длинные имена файлов при работе с командной строкой, их нужно заключать в двойные кавычки. Например, чтобы
запустить файл с именем "Мое приложение.exe" из каталога "Мои документы", нужно в командной строке набрать "C:\Мои документы\Мое приложение.exe" и нажать клавишу
Перейдем теперь непосредственно к командам для работы с файловой системой.
Команда CD
Текущий каталог можно изменить с помощью команды
CD [диск:][путь\]
Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.
Команда COPY
Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда
Синтаксис этой команды:
COPY источник [+ источник [+ ...]] [результат ]
источник | Имя копируемого файла или файлов |
Файл является текстовым файлом ASCII, то есть конец файла |
|
обозначается символом с кодом ASCII 26 ( |
|
Файл является двоичным. Этот ключ указывает на то, что |
|
интерпретатор команд должен при копировании считывать из |
|
источника число байт, заданное размером в каталоге |
|
копируемого файла |
|
результат | Каталог для размещения результата копирования и/или имя |
создаваемого файла |
|
Проверка правильности копирования путем сравнения |
|
файлов после копирования |
|
Отключение режима запроса подтверждения на замену |
|
Включение режима запроса подтверждения на замену файлов |
Приведем примеры использования команды COPY.
Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:
COPY abc.txt D:\PROGRAM
Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:
COPY abc.txt D:\PROGRAM\def.txt
Копирование всех файлов с расширением txt с диска A: в каталог "Мои документы" на диске C:
COPY A:\*.txt "C:\Мои документы"
Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую краткую команду:
В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN: COPY abc.txt PRN
Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду COPY CON my.txt, которая будет копировать то, что вы набираете на клавиатуре, в файл my.txt (если этот файл существовал, то он перезапишется, иначе - создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши
Команда COPY может также объединять (склеивать) несколько файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:
COPY 1.txt+2.txt 3.txt
Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:
COPY /B *.dat all.dat
Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлы текстовыми.
Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и времени без модификации его содержимого. Для этого нужно ввести команду типа
COPY /B 1.txt +,
Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.
Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.
Команда XCOPY
Указанные при описании команды COPY проблемы можно решить с помощью команды XCOPY, которая предоставляет намного больше возможностей при копировании. Необходимо отметить, правда, что XCOPY может работать только с файлами и каталогами, но не с устройствами.
Синтаксис этой команды:
XCOPY источник [результат] [ключи]
Команда XCOPY имеет множество ключей, мы коснемся лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать только файлы, измененные не ранее указанной даты. Если параметр дата не указан, то копирование будет производиться только если источник новее результата. Например, команда
XCOPY "C:\Мои документы\*.*" "D:\BACKUP\Мои документы" /D
скопирует в каталог "D:\BACKUP\Мои документы" только те файлы из каталога "C:\Мои документы", которые были изменены со времени последнего подобного копирования или которых вообще не было в "D:\BACKUP\Мои документы".
Ключ /S позволяет копировать все непустые подкаталоги в каталогеисточнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.
Если указан ключ /C, то копирование будет продолжаться даже в случае возникновения ошибок. Это бывает очень полезным при операциях копирования, производимых над группами файлов, например, при резервном копировании данных.
Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT,
XCOPY *.txt TEXT /I
то подкаталог TEXT будет создан без дополнительных запросов.
Ключи /Q, /F и /L отвечают за режим отображения при копировании. При задании ключа /Q имена файлов при копировании не отображаются, ключа /F
Отображаются полные пути источника и результата. Ключ /L обозначает, что отображаются только файлы, которые должны быть скопированы (при этом само копирование не производится).
С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R - заменять файлы с атрибутом "Только для чтения". Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести следующую команду:
XCOPY C:\*.* D:\SYS /H
Ключ /T позволяет применять XCOPY для копирования только структуры каталогов источника, без дублирования находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /E.
Используя XCOPY можно при копировании обновлять только уже существующие файлы (новые файлы при этом не записываются). Для этого применяется ключ /U. Например, если в каталоге C:\2 находились файлы a.txt и b.txt, а в каталоге C:\1 - файлы a.txt, b.txt, c.txt и d.txt, то после выполнения команды
XCOPY C:\1 C:\2 /U
в каталоге C:\2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое которых будет заменено содержимым соответствующих файлов из каталога C:\1.Если с помощью XCOPY копировался файл с атрибутом "Только
для чтения", то по умолчанию у файла-копии этот атрибут снимется. Для того, чтобы копировать не только данные, но и полностью атрибуты файла, необходимо использовать ключ /K.
Ключи /Y и /-Y определяют, нужно ли запрашивать подтверждение перед заменой файлов при копировании. /Y означает, что такой запрос нужен, /-Y - не нужен.
Команда DIR
Еще одной очень полезной командой является DIR [диск:][путь][имя_файла] [ключи], которая используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Например, команда
выведет на экран все файлы с расширением bat в корневом каталоге диска C:. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена (в коротком и длинном вариантах) файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске. Например:
Содержимое папки C:\aditor | |||||
<ПАПКА> | |||||
<ПАПКА> | |||||
1:00 templt02.dat |
|||||
8:36 UNINST1.000 |
|||||
18:55 hilite.dat |
|||||
1:00 templt01.dat |
|||||
2:08 UNINST0.000 |
|||||
23:13 aditor.exe |
|||||
17:26 readme.txt |
|||||
23:12 aditor.hlp |
|||||
ТЕКСТО~1 TXT | 9:02 Текстовый |
С помощью ключей команды DIR можно задать различные режимы расположения, фильтрации и сортировки. Например, при использовании ключа /W перечень файлов выводится в широком формате с максимально возможным числом имен файлов или каталогов на каждой строке. Например:
Том в устройстве C имеет метку PHYS1_PART2 | ||||||
Серийный номер тома: 366D-6107 | ||||||
Содержимое папки C:\aditor | ||||||
TEMPLT01.DAT UNINST0.000 | ||||||
ТЕКСТО~1.TXT | ||||||
байт свободно |
С помощью ключа /A[[:]атрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R - " Только чтение", A - " Архивный", S - " Системный", H - " Скрытый", префикс "–" имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и системными, можно задать команду
а для вывода всех файлов, кроме скрытых - команду
Отметим здесь, что атрибуту каталога соответствует буква D, то есть для того, чтобы, например, вывести список всех каталогов диска C:, нужно задать команду
Ключ /O[[:]сортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен, DIR печатает имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения: N - по имени (алфавитная), S - по размеру (начиная с меньших), E
По расширению (алфавитная), D - по дате (начиная с более старых), A - по дате загрузки (начиная с более старых), G - начать список с каталогов. Префикс "–" означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.
Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.
Ключ /B перечисляет только названия каталогов и имена файлов (в длинном формате) по одному на строку, включая расширение. При этом выводится только основная информация, без итоговой. Например:
Текстовый файл.txt
Команды MKDIR и RMDIR
Для создания нового каталога и удаления уже существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR [диск:]путь [ключи] соответственно (или их короткие аналоги MD и RD). Например:
MKDIR "C:\Примеры"
RMDIR "C:\Примеры"
Команда MKDIR не может быть выполнена, если каталог или файл с заданным именем уже существует. Команда RMDIR не будет выполнена, если удаляемый каталог не пустой.
Команда DEL
Удалить один или несколько файлов можно с помощью команды
DEL [диск:][путь]имя_файла [ключи]
Для удаления сразу нескольких файлов используются групповые знаки? и *. Ключ /S позволяет удалить указанные файлы из всех подкаталогов, ключ /F
– принудительно удалить файлы, доступные только для чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам (аналогично ключу /A[[:]атрибуты] в команде DIR).
Команда REN
Переименовать файлы и каталоги можно с помощью команды RENAME (REN). Синтаксис этой команды имеет следующий вид:
REN [диск:][путь][каталог1|файл1] [каталог2|файл2]
Здесь параметр каталог1|файл1 определяет название каталога/файла, которое нужно изменить, а каталог2|файл2 задает новое название каталога/файла. В любом параметре команды REN можно использовать групповые символы? и *. При этом представленные шаблонами символы в параметре файл2 будут идентичны соответствующим символам в параметре файл1. Например, чтобы изменить у всех файлов с расширением txt в текущей директории расширение на doc, нужно ввести такую команду:
Если файл с именем файл2 уже существует, то команда REN прекратит выполнение, и произойдет вывод сообщения, что файл уже существует или занят. Кроме того, в команде REN нельзя указать другой диск или каталог для создания результирующих каталога и файла. Для этой цели нужно использовать команду MOVE, предназначенную для переименования и перемещения файлов и каталогов.
Команда MOVE
Синтаксис команды для перемещения одного или более файлов имеет
MOVE [диск:][путь]имя_файла1[,...]
результирующий_файл
Синтаксис команды для переименования папки имеет вид:
MOVE [диск:][путь]каталог1 каталог2
Здесь параметр результирующий_файл задает новое размещение файла и может включать имя диска, двоеточие, имя каталога, либо их сочетание. Если перемещается только один файл, допускается указать его новое имя. Это позволяет сразу переместить и переименовать файл. Например,
MOVE "C:\Мои документы\список.txt" D:\list.txt
Если указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться запрос на подтверждение. Ключ /Y отменяет выдачу такого запроса.
3. ОБОРУДОВАНИЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
4. ЗАДАНИЕ НА РАБОТУ
Задание на лабораторную работу выдается каждому студенту в индивидуальном порядке. Далее приведены типовые индивидуальные задания, предлагаемые студенту для самостоятельного выполнения в рамках данной лабораторной работы:
Задание № 1
1. Создать папку с идентификатором 1.
3. Скопировать в папку 1 два файла.
4. Вывести на экран содержание папки "1".
5. Определить объем свободного пространства на диске с папкой 1.
6. Удалить папку "1" со всем ее содержимым.
Задание № 2
1. Создать папку с идентификатором 2.
2. Вывести на экран содержание корневого каталога текущего диска.
3. Создать в папке "2" новый текстовый файл с идентификатором "NEW.TXT" и записать в него какую-либо информацию.
4. Вывести на экран содержание папки "2".
5. Вывести на экран содержимое файла "NEW.TXT".
6. Удалить папку "2" со всем ее содержимым.
Задание № 3
4. Скопировать какой-либо файл в папку C:\TEMP или C:\TMP.
5. Скопировать какую-либо непустую папку в папку C:\TEMP или C:\TMP.
6. Удалить из папки C:\TEMP или C:\TMP все файлы.
Задание № 4
1. Перейти в корневой каталог диска С:.
2. Вывести на экран содержимое корневой папки.
3. Перейти в папку C:\TEMP или C:\TMP. Если на диске С: указанные папки отсутствуют, то создать такую папку.
4. Создать в папке C:\TEMP или C:\TMP вложенную папку с идентификатором CD.
5. Скопировать какую-либо непустую папку в папку C:\CD.
Копирование одного или нескольких файлов из одного расположения в другое.
Синтаксис
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, введите следующую команду.