Файловая система логически имеет древовидную структуру и имена файлов задаются в формате [диск:][путь\]имя_файла, то есть обязательным параметром является только имя файла. При этом если путь начинается с символа "\", то маршрут вычисляется от корневого каталога, иначе – от текущего каталога. Например, имя 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 и text11.txt, под шаблон text*.txt – имена text.txt, textab12.txt, а под шаблон text.* – все файлы с именем text и произвольным расширением.
Для использования длинных имен файлов при работе с командной строкой их нужно заключать в двойные кавычки. Например, чтобы запустить файл с именем «Мое приложение.exe» из каталога «Мои документы», нужно в командной строке набрать "C:\Мои документы\Мое приложение.exe" и нажать клавишу <Enter>.
Команда CD
Текущий каталог можно изменить с помощью команды CD [диск:][путь\]. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Команда CD без параметров выводит имена текущего диска и каталога.
Команда COPY
Для копирования одного или нескольких файлов используется команда COPY. Синтаксис этой команды:
COPY [/A|/B] источник [/A|/B] [+ источник [/A|/B] [+...]] [результат [/A|/B]] [/V][/Y|/–Y]Краткое описание параметров и ключей команды COPY приведено в таблице 1.1. Приведем примеры использования команды COPY.
1. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:
COPY abc.txt D:\PROGRAM
2. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:
COPY abc.txt D:\PROGRAM\def.txt
3. Копирование всех файлов с расширением txt с диска A: в каталог «Мои документы» на диске C:
COPY A:\*.txt "C:\Мои документы"
Таблица 1.1 – Параметры и ключи команды COPY
Параметр | Описание |
источник | Имя копируемого файла или файлов |
/A | Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (<Ctrl>+<Z>) |
/B | Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла |
результат | Каталог для размещения результата копирования и/или имя создаваемого файла |
/V | Проверка правильности копирования путем сравнения файлов после копирования |
/Y | Отключение режима запроса подтверждения на замену файлов |
/-Y | Включение режима запроса подтверждения на замену файлов |
Если не задан целевой файл, команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую команду:
COPY A:\*.*Например, требуется создать новый текстовый файл и записать в него символы, введенные с клавиатуры, без использования текстового редактора.
Для решения задачи необходимо ввести команду COPY CON my.txt, которая будет копировать то, что набирается на клавиатуре в файл my.txt (если этот файл существует, то он перезапишется, иначе – создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши <Ctrl>+<Z>.
Команда COPY может также объединять (склеивать) несколько файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:
COPY 1.txt+2.txt 3.txtЕсли имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt.
Команда COPY имеет и недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.
Команда XCOPY
Команда XCOPY предоставляет больше возможностей при копировании. Необходимо отметить, что XCOPY может работать только с файлами и каталогами, но не с устройствами. Синтаксис команды:
XCOPY источник [результат] [ключи]Команда XCOPY имеет множество ключей, далее приведены лишь некоторых из них.
Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.
Если указан ключ /C, то копирование будет продолжаться даже в случае возникновения ошибок. Это бывает полезным при операциях копирования, производимых над группами файлов, например, при резервном копировании данных.
Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT
XCOPY *.txt TEXT /I,то подкаталог TEXT будет создан.
Команда DIR
Команда DIR [диск:][путь][имя_файла] [ключи]используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] определяет файл или группу файлов, которые нужно включить в список. Например, команда DIR C:\*.bat выведет на экран все файлы с расширением bat в корневом каталоге диска C. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске.Ключи команды DIR задают различные режимы расположения, фильтрации и сортировки.
С помощью ключа /A[[:]атрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R – «Только чтение», A – «Архивный», S – «Системный», H – «Скрытый», префикс «-» имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C, которые одновременно являются скрытыми и системными, нужно ввести команду
а для вывода всех файлов, кроме скрытых – команду
DIR C:\ /A:-HОтметим, что атрибуту каталога соответствует буква D, и для того, чтобы, например, вывести список всех каталогов диска C, нужно ввести команду
DIR C: /A:DКлюч /O[[:]сортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен, DIR выводит имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения: N – по имени (алфавитная), S – по размеру (начиная с меньших), E – по расширению (алфавитная), D – по дате (начиная с более старых), A – по дате загрузки (начиная с более старых), G – начать список с каталогов. Префикс «-» означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.
Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.
Команды MKDIR и RMDIR
Для создания нового каталога и удаления уже существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR [диск:]путь [ключи] соответственно (или их аналоги MD и RD). Например:
MKDIR "C:\Примеры"RMDIR "C:\Примеры"
Команда DEL
Удалить один или несколько файлов можно с помощью команды
DEL [диск:][путь]имя_файла [ключи]Для удаления сразу нескольких файлов используются групповые знаки? и *. Ключ /S позволяет удалить указанные файлы из всех подкаталогов, ключ /F – принудительно удалить файлы, доступные только для чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам (аналогично ключу /A[[:]атрибуты] в команде DIR).
Команда REN
Переименовать файлы и каталоги можно с помощью команды RENAME (REN). Синтаксис этой команды имеет следующий вид:
REN [диск:][путь][каталог1|файл1] [каталог2|файл2]Здесь параметр каталог1|файл1 определяет название каталога/файла, которое нужно изменить, а каталог2|файл2 задает новое название каталога/файла. В любом параметре команды REN можно использовать групповые символы? и *. При этом представленные шаблонами символы в параметре файл2 будут идентичны соответствующим символам в параметре файл1. Например, чтобы изменить у всех файлов с расширением txt в текущем каталоге расширение на doc, нужно ввести такую команду:
REN *.txt *.docЕсли файл с именем файл2 уже существует, то команда REN прекратит выполнение, и произойдет вывод сообщения, что файл уже существует или занят. Кроме того, в команде REN нельзя указать другой диск или каталог для создания результирующих каталога и файла. Для этой цели нужно использовать команду MOVE, предназначенную для переименования и перемещения файлов и каталогов.
Команда MOVE
Синтаксис команды для перемещения одного или более файлов имеет вид:
MOVE [/Y|/–Y] [диск:][путь]имя_файла1[,...] результирующий_файлСинтаксис команды для переименования каталога имеет вид:
MOVE [/Y|/-Y] [диск:][путь]каталог1 каталог2Здесь параметр результирующий_файл задает новое размещение файла и может включать имя диска, двоеточие, имя каталога, либо их сочетание. Если перемещается только один файл, допускается указать его новое имя. Это позволяет сразу переместить и переименовать файл. Например,
MOVE "C:\Мои документы\список.txt" D:\list.txtЕсли указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться запрос на подтверждение. Ключ /Y отменяет выдачу такого запроса.