Здавалка
Главная | Обратная связь

Теоретический материал

Оболочка командной строки Windows. Интерпретатор Cmd.exe

 

В операционной системе Windows, как и в других операционных системах, интерактивные (набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью так называемого командного интерпретатора, иначе называемого командным процессором или оболочкой командной строки (command shell). Командный интерпретатор или оболочка командной строки — это программа, которая, находясь в оперативной памяти, считывает набираемые вами команды и обрабатывает их. В Windows 9x, как и вMS-DOS, командный интерпретатор по умолчанию был представлен исполняемым файлом command.com. Начиная с версии WindowsNT, в операционной системе реализован интерпретатор команд Cmd.exe, обладающий гораздо более мощными возможностями.

 

Запуск оболочки

 

В Windows NT/2000/XP файл Cmd.exe, как и другие исполняемые файлы, соответствующие внешним командам операционной системы, находятся в каталоге %SystemRoot%\SYSTEM32 (значением переменной среды %SystemRoot% является системный каталогWindows, обычно C:\Windows или C:\WinNT). Для запуска командного интерпретатора (открытия нового сеанса командной строки) можно выбрать пункт Выполнить… (Run) в меню Пуск (Start), ввести имя файла Cmd.exe и нажать кнопку OK. В результате откроется новое окно (Рисунок 1), в котором можно запускать команды и видеть результат их работы.

 

Рисунок 1 – Командное окно интерпретатора Cmd.exe в Windows XP

 

Внутренние и внешние команды. Структура команд

 

Некоторые команды распознаются и выполняются непосредственно самим командным интерпретатором ‑ такие команды называются внутренними (например, COPY или DIR). Другие команды операционной системы представляют собой отдельные программы, расположенные по умолчанию в том же каталоге, что и Cmd.exe, которые Windows загружает и выполняет аналогично другим программам. Такие команды называются внешними (например, MORE или XCOPY).

Рассмотрим структуру самой командной строки и принцип работы с ней. Для того, чтобы выполнить команду, вы после приглашения командной строки (например, C:\>) вводите имя этой команды (регистр не важен), ее параметры и ключи (если они необходимы) и нажимаете клавишу <Enter>. Например:

 

C:\>COPY C:\myfile.txt A:\ /V

 

Имя команды здесь ‑ COPY, параметры ‑ C:\myfile.txt и A:\, а ключом является /V. Отметим, что в некоторых командах ключи могут начинаться не с символа /, а с символа (минус), например, -V.

 

Многие команды Windows имеют большое количество дополнительных параметров и ключей, запомнить которые зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в которой кратко описываются назначение и синтаксис данной команды. Получить доступ к такой справке можно путем ввода команды с ключом /?. Например, если выполнить команду ATTRIB /?, то в окне MS-DOS мы увидим следующий текст:

 

Отображение и изменение атрибутов файлов.

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла] [/S]

+ Установка атрибута.

- Снятие атрибута.

R Атрибут "Только чтение".

A Атрибут "Архивный".

S Атрибут "Системный".

H Атрибут "Скрытый".

/S Обработка файлов во всех вложенных папках указанного пути.

 

Для некоторых команд текст встроенной справки может быть довольно большим и не умещаться на одном экране. В этом случае помощь можно выводить последовательно по одному экрану с помощью команды MORE и символа конвейеризации |, например:

 

XCOPY /? | MORE

 

В этом случае после заполнения очередного экрана вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя символы перенаправления вывода > и >>, можно текст, выводимый на экран, направить в текстовый файл для дальнейшего просмотра. Например, для вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется следующая команда:

 

XCOPY /? > XCOPY.TXT

 

Примечание: Вместо имени файла можно указывать обозначения устройств компьютера. В Windows поддерживаются следующие имена устройств: PRN (принтер), LPT1–LPT3 (соответствующие параллельные порты), AUX (устройство, присоединяемое к последовательному порту 1), COM1–COM3 (соответствующие последовательные порты), CON (терминал: при вводе это клавиатура, при выводе ‑ монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются).

 

Перенаправление ввода/вывода и конвейеризация (композиция) команд

 

Рассмотрим более подробно поддерживаемые в Windows UNIX-подобные концепции переназначения устройств стандартного ввода/вывода и конвейерного выполнения команд.

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

 

· выводить сообщения программ не на экран (стандартный выходной поток), а в файл или на принтер (перенаправление вывода);

· читать входные данные не с клавиатуры (стандартный входной поток), а из заранее подготовленного файла (перенаправление ввода);

· передавать сообщения, выводимые одной программой, в качестве входных данных для другой программы (конвейеризация или композиция команд).

 

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

 

команда > имя_файла

 

Если при этом заданный для вывода файл уже существовал, то он перезаписывается (старое содержимое теряется), если не существовал ‑ создается. Можно также не создавать файл заново, а дописывать информацию, выводимую командой, в конец существующего файла. Для этого команда перенаправления вывода должна быть задана так:

 

команда >> имя_файла

 

С помощью символа < можно прочитать входные данные для заданной команды не с клавиатуры, а из определенного (заранее подготовленного) файла:

 

команда < имя_файла

 

Примеры перенаправления ввода/вывода:

 

1. Вывод встроенной справки для команды COPY в файл copy.txt:

 

COPY /? > copy.txt

 

2. Добавление текста справки для команды XCOPY в файл copy.txt:

 

XCOPY /? >> copy.txt

 

3. Ввод новой даты из файла date.txt (DATE — это команда для просмотра и изменения системной даты):

 

DATE < date.txt

 

Если при выполнении определенной команды возникает ошибка, то сообщение об этом по умолчанию выводится на экран. В случае необходимости сообщения об ошибках (стандартный поток ошибок) можно перенаправить в текстовый файл с помощью конструкции

 

команда 2> имя_файла

 

В этом случае стандартный вывод будет производиться на экран. Также имеется возможность информационные сообщения и сообщения об ошибках выводить в один и тот же файл. Делается это следующим образом:

 

команда > имя_файла 2>&1

 

Например, в приведенной ниже команде стандартный выходной поток и стандартный поток ошибок перенаправляются в файлcopy.txt:

 

XCOPY A:\1.txt C: > copy.txt 2>&1

 

Наконец, с помощью конструкции

 

команда1 | команда2

 

можно использовать сообщения, выводимые первой командой, в качестве входных данных для второй команды (конвейер команд).

 

Используя механизмы перенаправления ввода/вывода и конвейеризации, можно из командной строки посылать информацию на различные устройства и автоматизировать ответы на запросы, выдаваемые командами или программами, использующими стандартный ввод. Для решения таких задач подходит команда

 

ECHO [сообщение]

 

которая выводит сообщение на экран.

 

Примеры:

 

1. Посылка символа прогона на принтер:

 

ECHO ^L > PRN

 

2. Удаление всех файлов в текущем каталоге без предупреждения (автоматический положительный ответ на запрос об удалении):

 

ECHO y | DEL *.*

 

3. Соединение по телефону из командной строки (модем связан с портом COM2):

 

ECHO ATDT 1(123)555-1234 > COM2

 

Команды MORE и SORT

 

Одной из наиболее часто использующихся команд, для работы с которой применяется перенаправление ввода/вывода и конвейеризация, является MORE. Эта команда считывает стандартный ввод из конвейера или перенаправленного файла и выводит информацию частями, размер каждой из которых не больше размера экрана. Используется MORE обычно для просмотра длинных файлов. Возможны три варианта синтаксиса этой команды:

 

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

 

MORE < [диск:][путь]имя_файла

 

имя_команды | MORE

 

Параметр [диск:][путь]имя_файла определяет расположение и имя файла с просматриваемыми на экране данными. Параметримя_команды задает команду, вывод которой отображается на экране (например, DIR или команда TYPE, использующаяся для вывода содержимого текстового файла на экран).

 

Примеры:

 

1. Для поэкранного просмотра помощи команды DIR используется команда:

 

XCOPY /? | MORE

 

2. Для поэкранного просмотра текстового файла news.txt возможны следующие варианты команд:

 

MORE news.txt

 

MORE < news.txt

 

TYPE news.txt | MORE

 

Другой распространенной командой, использующей перенаправление ввода/вывода и конвейеризацию, является SORT. Эта команда работает как фильтр: она считывает символы в заданном столбце, упорядочивает их в возрастающем или убывающем порядке и выводит отсортированную информацию в файл, на экран или другое устройство. Возможны два варианта синтаксиса этой команды:

 

SORT [/R] [/+n] [[диск1:][путь1]файл1] [> [диск2:][путь2]файл2]

 

Или

 

[команда |] SORT [/R] [/+n] [> [диск2:][путь2]файл2]

 

В первом случае параметр [диск1:][путь1]файл1 определяет имя файла, который нужно отсортировать. Во втором случае будут отсортированы выходные данные указанной команды. Если параметры файл1 или команда не заданы, то SORT будет считывать данные с устройства стандартного ввода.

Параметр [диск2:][путь2]файл2 задает файл, в который будет направляется сортированный вывод; если этот параметр не задан, то вывод будет направлен на устройство стандартного вывода.

По умолчанию сортировка выполняется в порядке возрастания. Ключ /R позволяет изменить порядок сортировки на обратный (отZ к A и затем от 9 до 0). Например, для поэкранного просмотра отсортированного в обратном порядке файла price.txt, нужно задать следующую команду:

 

SORT /R < price.txt |MORE

 

Ключ /+n задает сортировку в файле по символам n-го столбца. Например, /+10 означает, что сортировка должна осуществляться, начиная с 10-й позиции в каждой строке. По умолчанию файл сортируется по первому столбцу.

 

Условное выполнение и группировка команд

 

В командной строке Windows NT/2000/XP можно использовать специальные символы, которые позволяют вводить несколько команд одновременно и управлять работой команд в зависимости от результатов их выполнения. С помощью таких символов условной обработки можно содержание небольшого пакетного файла записать в одной строке и выполнить полученную составную команду.

Используя символ амперсанта &, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Например, если набрать команду DIR & PAUSE & COPY /? и нажать клавишу <Enter>, то вначале на экран будет выведено содержимое текущего каталога, а после нажатия любой клавиши ‑ встроенная справка команды COPY.

Символ ^ позволяет использовать командные символы как текст, то есть при этом происходит игнорирование значения специальных символов. Например, если ввести в командной строке

 

ECHO Абв & COPY /?

 

и нажать клавишу <Enter>, то произойдет выполнение подряд двух команд: ECHO Абв и COPY /? (команда ECHO выводит на экран символы, указанные в командной строке после нее). Если же выполнить команду

 

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 и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

Параметр Описание
источник Имя копируемого файла или файлов
/A Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (<Ctrl>+<Z>)
/B Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла
результат Каталог для размещения результата копирования и/или имя создаваемого файла
/V Проверка правильности копирования путем сравнения файлов после копирования
/Y Отключение режима запроса подтверждения на замену файлов
/-Y Включение режима запроса подтверждения на замену файлов

 

Примеры использования команды 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:\Мои документы"

 

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

 

COPY A:\*.*

 

В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN: COPY abc.txt PRN.

Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду 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

 

Объединение всех файлов с расширением 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 [диск:][путь][имя_файла][ключи], которая используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Например, команда

 

DIR C:\*.bat

 

выведет на экран все файлы с расширением bat в корневом каталоге диска C:. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена (в коротком и длинном вариантах) файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске. Например:

 

Том в устройстве C имеет метку PHYS1_PART2

Серийный номер тома: 366D-6107

Содержимое папки C:\aditor

. <ПАПКА> 25.01.00 17:15 .

.. <ПАПКА> 25.01.00 17:15 ..

TEMPLT02 DAT 227 07.08.98 1:00 templt02.dat

UNINST1 000 1 093 02.03.99 8:36 UNINST1.000

HILITE DAT 1 082 18.09.98 18:55 hilite.dat

TEMPLT01 DAT 48 07.08.98 1:00 templt01.dat

UNINST0 000 40 960 15.04.98 2:08 UNINST0.000

TTABLE DAT 357 07.08.98 1:00 ttable.dat

ADITOR EXE 461 312 01.12.99 23:13 aditor.exe

README TXT 3 974 25.01.00 17:26 readme.txt

ADITOR HLP 24 594 08.10.98 23:12 aditor.hlp

ТЕКСТО~1 TXT 0 11.03.01 9:02 Текстовый файл.txt

11 файлов 533 647 байт

2 папок 143 261 696 байт свободно

 

С помощью ключей команды DIR можно задать различные режимы расположения, фильтрации и сортировки. Например, при использовании ключа /W перечень файлов выводится в широком формате с максимально возможным числом имен файлов или каталогов на каждой строке. Например:

 

Том в устройстве C имеет метку PHYS1_PART2

Серийный номер тома: 366D-6107

Содержимое папки C:\aditor

[.] [..] TEMPLT02.DAT UNINST1.000 HILITE.DAT

TEMPLT01.DAT UNINST0.000 TTABLE.DAT ADITOR.EXE README.TXT

ADITOR.HLP ТЕКСТО~1.TXT

11 файлов 533 647 байт

2 папок 143 257 600 байт свободно

 

С помощью ключа /A[[:]атрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R – «Только чтение», A — «Архивный», S – «Системный», H – «Скрытый», префикс «‑» имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и системными, можно задать команду

 

DIR C:\ /A:HS

 

а для вывода всех файлов, кроме скрытых – команду

 

DIR C:\ /A:-H

 

Отметим здесь, что атрибуту каталога соответствует буква D, то есть для того, чтобы, например, вывести список всех каталогов диска C:, нужно задать команду

 

DIR C: /A:D

 

Ключ /O[[:]сортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен,DIR печатает имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения:N ‑ по имени (алфавитная), S ‑ по размеру (начиная с меньших), E ‑ по расширению (алфавитная), D ‑ по дате (начиная с более старых),A ‑ по дате загрузки (начиная с более старых), G ‑ начать список с каталогов. Префикс «‑» означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.

Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.

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

 

templt02.dat

UNINST1.000

hilite.dat

templt01.dat

UNINST0.000

ttable.dat

aditor.exe

readme.txt

aditor.hlp

Текстовый файл.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, нужно ввести такую команду:

 

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 отменяет выдачу такого запроса.

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.