Вывод списка файлов и подкаталогов каталога. Вызванная без параметров команда dir выводит метку тома и серийный номер, за которыми следует список каталогов и файлов на диске, включая их имена, дату и время последнего изменения. Для файлов dir выводит также расширение имени и размер в байтах. Команда dir также выводит общее число перечисленных файлов и каталогов, их общий размер и свободное пространство (в байтах) на диске.
Синтаксис
dir [диск : ][путь ][имя_файла ] [...] [/p ] [/q ] [/w ] [/d ] [/a [[: ]атрибуты ]][/o [[: ]порядок_сортировки ]] [/t [[: ]поле_сортировки ]] [/s ] [/b ] [/l ] [/n ] [/x ] [/c ] [/4 ]
Параметры
[диск : ][путь ] Задание диска и каталога, список файлов которого будет выведен. [имя_файла ] Задание файла или группы файлов, сведения о которых требуется вывести. /p Постраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу. /q Вывод сведений о владельце файла. /w Вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке. /d Соответствует /w , но с сортировкой по столбцам. /a [[: ] атрибуты ] Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов , команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты . Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними. /o [[: ]порядок_сортировки ] Управление порядком сортировки и вывода имен файлов и каталогов командой dir . Если параметр /o , не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки , команда dir выводит имена каталогов в алфавитном порядке, затем — имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки . Допускается использование любого их сочетания без пробелов между ними.Значение | Описание |
---|---|
Сортировка по именам в алфавитном порядке |
|
Сортировка по расширениям в алфавитном порядке |
|
Сортировка по дате и времени от ранних к поздним |
|
Сортировка по размеру от меньших к большим |
|
Сортировка с группированием каталогов перед файлами |
|
Сортировка по именам в обратном алфавитном порядке (от Z к A) |
|
Сортировка по расширению в обратном алфавитном порядке (от.ZZZ к.AAA) |
|
Сортировка по дате и времени от поздних к ранним |
|
Сортировка по размеру от больших к меньшим |
|
Сортировка с группировкой каталогов после файлов |
Примечания
- Использование нескольких имен_файлов
Допускается использование нескольких имен_файлов . Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла .
- Использование подстановочных знаков
Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).
- Задание атрибутов файлов для вывода
Если параметр /a используется более чем с одним значением параметра атрибуты , команда dir выведет имена только тех файлов, все атрибуты которых совпадают с заданными. Например, при использовании параметра /a со значениями атрибутов r и -h в формате /a:r-h или /ar-h команда dir выведет имена файлов, являющихся одновременно скрытыми и защищенными от записи.
- Указание порядка сортировки имен файлов
Если указано несколько значений порядка_сортировки , команда dir сортирует имена файлов сначала по первому условию, затем — по второму и т. д. Например, если указан ключ /o со значениями e и -s порядка_сортировки в формате /o:e-s или /oe-s , команда dir отсортирует имена каталогов и файлов по расширениям, затем от больших файлов к меньшим и выведет окончательный результат. В результате сортировки по алфавиту файлы без расширений будут идти вначале, затем имена каталогов, а потом имена файлов с расширениями.
- Использование перенаправления и каналов
Чтобы перенаправить вывод команды dir в файл с помощью символа (>) или использовать канал (|) для передачи вывода в другую команду, необходимо использовать параметры команды dir /a:-d и /b для вывода только списка имен файлов. Параметр имя_файла с параметрами /b и /s можно использовать, чтобы указать поиск командой dir в текущем каталоге и его подкаталогах всех файлов, соответствующих значению имя_файла . При этом команда dir выведет только имя диска, имя каталога, имя файла и расширение по одному файлу в строке. Чтобы использовать перенаправление с помощью каналов, в файле Autoexec.nt должна быть установлена переменная среды TEMP.
- Предварительное задание параметров команды dir
Параметры команды dir могут быть предварительно заданы включением команды set для переменной среды DIRCMD в файл Autoexec.nt. В команде set dircmd может быть использована любая допустимая комбинация параметров команды dir , включая расположение и имя файла.
Например, чтобы использовать переменную среды DIRCMD для задания вывода в расширенном формате (/w ) по умолчанию, в файле Autoexec.nt необходимо ввести следующую строку:
set dircmd=/w
При однократном использовании команды dir можно отменить параметр с помощью переменной среды DIRCMD. Для этого введите параметр, который требуется отменить, в командной строке dir , указав перед ним знак минус. Например:
Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:
set= новый_параметр
Новые параметры по умолчанию останутся в силе для всех последующих команд dir , пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.
Чтобы удалить все параметры по умолчанию, введите следующую команду:
set dircmd=
Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:
- Команда dir с другими параметрами доступна в консоли восстановления.
Примеры
Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:
dir /s/w/o/p
Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затемвыводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.
Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:
dir /s/w/o/p/a:-d
Чтобы напечатать список каталогов, введите следующую команду:
ir > prn
Если указать параметр prn , список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить параметр prn именем этого порта.
Вывод команды dir также может быть направлен в файл при замене prn на имя файла. Кроме того, можно также ввести путь. Например, для направления вывода команды dir в файл Dir.doc в каталоге Records введите следующую команду:
dir > \records\dir.doc
Если файл Dir.doc не существует, команда dir создаст его при условии наличия каталога Records. Если этот каталог не существует, выводится следующее сообщение:
Ошибка создания файла
Чтобы вывести список всех файлов с расширением.txt во всех каталогах диска C, введите следующую команду:
dir c:\*.txt /w/o/s/p
Команда dir выводит на экран алфавитный список файлов, удовлетворяющих заданному шаблону, в несколько колонок с паузой после заполнения каждого экрана.
Команда DIR используется для вывода на экран информации о содержимом каталогов и дисков. Данная команда имеет следующий синтаксис: DIR [диск:][путь][имя файла] атрибуты]] порядок сортировки]] время]] [диск:][путь][имя файла].
Как видно из синтаксиса, команду DIR можно использовать без параметров. В этом случае команда DIR действует на текущий каталог. На экран выводится метка диска (тома), его серийный номер, имена файлов и подкаталогов, находящихся в текущем каталоге и дата их последнего изменения. Для файлов, указывается их размер, общее количество. Также указывается общее количество папок и объем свободного места на диске. Для примера, применим команду DIR для диска «C»: dir
Если в команде DIR используется только параметр [диск:], то на экран будет выведено содержимое диска. Если в команде используется параметр [диск:][каталог], то на экран будет выведено содержимое каталога. Если в команде используется параметр [диск:][каталог][имя файла], то на экран будет выведена информация о файле или группе файлов. Для примера, выведем на экран содержимое диска «D»: dir d:\ (либо dir d:
)
Создадим на диске «D» папку «FOLDER» и поместим в нее 2 папки «Folder1» и «Folder2», а также файл «myfolder.txt». Тогда команда dir d:\FOLDER выведет на экран информацию о содержимом каталога «FOLDER».
Команда dir d:\FOLDER\*.txt выведет на экран информацию о текстовых файлах, расположенных в папке «FOLDER».
Ключ /P применяется в том случае, если содержимое диска или каталога не умещается в одном экране. Для примера, выведем на экран содержимое каталога «Windows»: dir windows /p
На экран будет выведена информация о содержимом каталога Windows. Т.к. все содержимое не умещается в один экран, применяем ключ /P. Для просмотра следующего экрана нажимаем любую клавишу.
Ключ /W используется в том случае, если необходимо вывести перечень файлов и каталогов в одной строке с максимально возможным их количеством, умещающемся на экране (широкий формат). Файлы и папки выводятся в алфавитном порядке (сортируются по строкам). Например, выведем на экран содержимое диска «С»: dir /w
Ключ /D аналогичен предыдущему ключу /W, однако в данном случае сортировка производится по столбам. Выведем содержимое диска «С»: dir /d
Ключ /A: [атрибуты] применяется для вывода информации о файлах и папках, которые имеют указанные атрибуты. Атрибутами могут быть:
- H – на экран выводятся скрытые файлы и папки
- S – на экран выводятся системные файлы и папки
- R – на экран выводятся файлы и папки, с атрибутом «только для чтения»
- A – на экран выводятся файлы и папки с установленным архивным атрибутом
- I – на экран выводятся файлы и папки с неиндексированным содержимым
Для примера, пусть на диске «D» есть папка «FOLDER». В ней находятся 2 папки «Folder1» и «Folder2», а также файл «myfolder.txt». Установим для папки «Folder2» и файла «myfolder.txt» атрибут «скрытый». Тогда команда dir d:\FOLDER a:h выведет на экран только информацию об этих скрытых файлах.
Ключ /A может использоваться более чем с одним значением атрибута. Например, выведем на экран информацию о папках и файлах, находящихся на диске «С» и имеющих, одновременно, атрибуты «скрытый» и «системный»: dir /a:hs
Обратите внимание, что на экран выводятся файлы и папки, которые имеют атрибуты «скрытый» и «системный» одновременно .
Если перед атрибутами поставить знак «-», то на экран будет выводиться информация о файлах и папках, которые не имеют указанный атрибут. Например, команда dir /a:-r выведет на экран информацию о файлах и папках, расположенных на диске «C» и не имеющих атрибут «только для чтения».
Если ключ /A употребить с параметром «D», то на экран будет выведена информация только а каталогах. Например, команда dir /a:d выведет на экран информацию о каталогах диска «С», но не выведет информацию о файлах.
Соответственно, если нам необходимо вывести на экран только файлы, то используется ключ /-D. Например, выведем на экран файлы, расположенные на диске «С»: dir /a:-d
По умолчанию (без ключа /A), команда DIR выводит на экран имена всех папок и файлов, кроме скрытых и системных. При использовании команды DIR с ключом /A без параметров, на экран выводятся имена всех папок и файлов. Например, команда dir /a выведет на экран имена всех папок и файлов (включая системные и скрытые файлы) текущего каталога.
Ключ /S позволяет выводить информацию о файлах из заданного каталога и его подкаталогов. Для примера, создадим на диске «D» папку «FOLDER», поместим в нее еще 2 папки «Folder1» и «Folder2». В каждую из 3-х папок поместим по одному файлу. Тогда команда dir d:\FOLDER /s выведет на экран содержимое основной папки «FOLDER» и всех подпапок «Folder1» и «Folder2».
В продолжение предыдущей статьи, мы рассмотрим поиск файлов через командную строку с помощью утилиты Dir. Утилита dir как правило используется для вывода списка файлов и каталогов в заданной папке, но так как с помощью параметров можно указать фильтр для выводимой информации, то утилита командной строки подходит и для поиска файлов или каталогов. Но, прежде, немного лирики…
Как то я наблюдал такую ситуацию: женщина заходила в социальную сеть Однокласники, потом вставляла в CR-ROM диск, на котором были ее фотки с любимым котом Мурзиком. Естественно, автоматически выскакивало диалоговое окно, в котором была вкладка, вроде, точно не помню, “Копировать изображения”, женщина благополучно на нее нажимала и ждала, что все фотографии автоматически появятся на ее станице в Однокласниках. Это меня конечно улыбнуло, стоит заметить настойчивость данной дамы, так как она повторяла процесс по несколько раз и в итоге неудач, пожаловалась на качество интернет услуг. В добавок, она умудрилась установить в системе сразу две антивирусные программы (NOD и Касперский), в итоге, Windows висел не по детски.
Командная строка dir
Утилиту dir можно использовать на ровне с утилитами . В данной статье будет рассмотрен скрипт поиска файла в командной строке Windows. Прежде чем приступать к написанию примера, давайте рассмотрим, с какими ключами работает утилита DІR:
DIR [диск: ] [путь] [имя_файла] атрибуты] ] порядок]] дата]]
[диск: ] [путь] – тут нужно указать имя диска и каталога, содержимое которых надо показать
[имя_файла] – говорит о том, что надо включить в список имена, которые надо показать, как вы уже догадались, тут можно использовать и подстановочные знаки: * или?. Для примера, на диске D я создал папку TEST, в которую поместил несколько документов различного типа:
- generate.mf
- infosys.mf
- sysinfo.mf
- xa_032.рdf
- xa_033.рdf
- xa_034.рdf
- xa_035.рdf
- xa_036.рdf
- xa_037.pdf
- send_mail_data.vbs.txt
- send_mail_text.vbs.txt
- subdomen_scan.wsf.txt
Стоит помнить, что для параметра [имя_файла] нельзя задать через запятую собственную цепочку. Теперь для разминки, осуществим поиск файла через командную строку с расширением pdf. Для этого пропишем:
Dir d:\test*.pdf
После выполнения заданной команды, мы увидим только те документы, которые имеют расширение pdf.
Хорошо, продолжим рассмотрение ключей:
атрибуты] ] – использование данного ключа позволяет отфильтровать вывод списка по атрибутам, которые могут принимать следующие значения, их можно использовать совместно:
D – собственно, только папки
H – включает вывод только скрытых документов
S – включает вывод только системных документов
R – атрибут файла “только чтение”
A – атрибут файла “архивный”
- – данный префикс имеет значение НЕ
Если ключ /А отсутствует, то произойдет вывод всех файлов и папок, кроме тех, которые являются скрытыми и системными, если же данный параметр прописан без атрибутов, то произойдет вывод всех документов, включая скрытые и системные.
DIR C:\ /A:HS – вывод только тех, которые имеют атрибуты «скрытый» и «системный».
DIR С:\ /А:-Н – вывод всех, кроме скрытых.
DIR С:\ /A:D – выводим список всех каталогов
/В – перечисляет только названия каталогов и имена файлов (в длинном формате) по одному на строчку, включая расширение. При этом выводится только основная информация, без итоговой.
/S –просмотреть информацию не только из текущего каталога, но и из его подпапок
Ну, теперь для написания скрипта, который осуществит поиск файлов в командной строке, информации достаточно. Цель такова, написать батник (searchfiles.cmd ) которому будут передаваться два аргумента: путь к диску или каталогу и шаблон, по которому будет происходить поиск файла через командную строку Windows. И так, смотрим на пример:
@If "%1"=="" (Set pathf=D:\test) else (Set pathf=%1)
@If "%2"=="" (Set exmf=*.pdf) else (Set exmf=%2)
Dir %pathf%%exmf% /s
В первой строчке мы проверяем наличие первого аргумента, если он пуст, то, переменная pathf будет содержать путь по умолчанию D:\test. Во второй – происходит проверка на второй аргумент и аналогично, при его отсутствии, переменная exmf получает значение по умолчанию *.pdf. В последней строчке будет происходить поиск файлов в командной строке по заданному шаблону.
Не стоит забывать, что сервер сценариев для работы с каталогами использует , который значительно превосходит по возможностям утилиту командная строка dir.
Полный список команд можно вывести набрав HELP в командной строке.
Команда CD
Текущий каталог можно изменить с помощью команды
CD [диск:][путь\]
Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.
Команда COPY
Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY.
Синтаксис этой команды:
COPY источник [+ источник [+ ...]] [результат ]
Краткое описание параметров и ключей команды COPY приведено в таблице.
Таблица 1.1. Параметры и ключи команды 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: в текущий каталог, достаточно выполнить такую краткую команду:
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 [диск:][путь][имя_файла] [ключи], которая используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Например, команда
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 [диск:][путь]имя_файла1[,...] результирующий_файл
Синтаксис команды для переименования папки имеет вид:
MOVE [диск:][путь]каталог1 каталог2
Здесь параметр результирующий_файл задает новое размещение файла и может включать имя диска, двоеточие, имя каталога, либо их сочетание. Если перемещается только один файл, допускается указать его новое имя. Это позволяет сразу переместить и переименовать файл. Например,
MOVE "C:\Мои документы\список.txt" D:\list.txt
Если указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться запрос на подтверждение. Ключ /Y отменяет выдачу такого запроса.
Многие пользователи забывают об утилите Dir, предоставляющей предельно простой, но в то же время надежный и предсказуемый способ поиска файлов. На возможностях утилиты Dir не сказываются ни ущербный механизм поиска Microsoft, ни ограничения проводника. Хотя в утилите Dir недостижимы некоторые визуальные функции проводника, с ее помощью вы можете найти требуемые файлы, а затем по необходимости выполнить очистку средствами проводника.
По умолчанию утилита Dir отображает только видимые файлы в текущей папке. Тем не менее, воспользовавшись масками и имеющимися ключами, можно найти практически любой файл. К примеру, если вам нужно найти все исполняемые файлы на заданном жестком диске, откройте окно командной строки в корневой папке жесткого диска и введите команду:
Dir *.EXE /S
Конструкция *.ЕХЕ указывает утилите Dir искать все файлы с расширением EXE, а ключ IS - выполнять поиск не только в текущей папке, но и во всех ее вложенных папках. Ниже перечислены наиболее употребительные ключи утилиты Dir.
- /А - вывод файлов с определенным атрибутом. Чтобы задать атрибут, необходимо добавить к ключу соответствующую букву:
- А - архивные файлы;
- D - папки;
- H - скрытые файлы;
- R - файлы для чтения;
- S - системные файлы.
Если вы, напротив, не хотите отображать файлы с заданным атрибутом, то воспользуйтесь знаком - (минус). Например, чтобы найти все файлы только для чтения, но без системных файлов, необходимо указать ключи /AR и /А-S.
- /О - сортировка файлов согласно выбранному критерию:
- D - по дате (начиная с самых старых);
- Е - по расширению;
- С - по группе (начиная с групповых папок);
- N - по имени;
- S - по размеру (начиная с самых маленьких).
Порядок сортировки можно изменить при помощи знака - (минус). Например, чтобы сначала вывести самые новые файлы, следует указать ключ /O-D.
- /Р - пауза при каждом обновлении экрана. Эта пауза дает возможность просмотреть сгенерированные результаты вывода.
- /Q - вывод помимо стандартной информации имен владельцев файлов.
- /S - отображение информации обо всех вложенных папках в дополнение к информации о текущей папке.
- D - вывод информации о дате:
- C - дата создания;
- L - дата последнего доступа;
- W - дата последней модификации.
Например, чтобы вывести для файлов даты их создания, следует указать ключ /ТС.
- /W, /D и /В - выбор способа отображения файлов. Все три ключа удаляют вспомогательную информацию и выводят только имена файлов. Ключ /W отображает имена файлов в максимально возможном количестве столбцов, умещающихся на экране, сортируя файлы по строкам. Ключ /D придает отображаемым файлам тот же вид, что и /W, однако файлы сортируются по столбцам. Ключ /В выводит имена файлов в одну строку - такой формат особенно полезен для перенаправления результатов работы утилиты Dir в файл для последующего анализа.
Сохранение результатов выполнения команды
Путем перенаправления вывода вы можете сохранить результаты работы любой утилиты командной строки для последующей обработки. Например, результаты работы утилиты Dir можно сохранить в текстовом файле, который будет использован другим приложением или станет частью сценария.
Перенаправление вывода осуществляется с помощью символов > и >>. Символ > всегда создает новый файл, а символ >> добавляет результаты в существующий файл, а при отсутствии файла создает новый.
Чтобы перенаправить результаты работы утилиты в файл, необходимо добавить к ней нужный символ и имя файла. Например, команда Dir /B >> DirOut.TXT помещает информацию, генерируемую утилитой Dir, в файл DirOut.TXT.