Вывод списка файлов и подкаталогов каталога. Вызванная без параметров команда 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 выводит имена каталогов в алфавитном порядке, затем имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки . Допускается использование любого их сочетания без пробелов между ними.
Значение | Описание |
---|---|
n | Сортировка по именам в алфавитном порядке |
e | Сортировка по расширениям в алфавитном порядке |
d | Сортировка по дате и времени от ранних к поздним |
s | Сортировка по размеру от меньших к большим |
g | Сортировка с группированием каталогов перед файлами |
-n | Сортировка по именам в обратном алфавитном порядке (от Z к A) |
-e | Сортировка по расширению в обратном алфавитном порядке (от.ZZZ к.AAA) |
-d | Сортировка по дате и времени от поздних к ранним |
-s | Сортировка по размеру от больших к меньшим |
-g | Сортировка с группировкой каталогов после файлов |
/t [[: ]поле_времени ] Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени .
/s Перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах. /b Перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w . /l Вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные. /n Вывод списка в расширенном формате с именами файлов в правой части экрана. /x Вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n , но сокращенные имена выводятся после полных. /c Вывод разделителя десятичных разрядов в размере файлов. /4 Отображение года в четырехзначном формате. /? Отображение справки в командной строке.
Примечания
- Использование нескольких имен_файлов
Допускается использование нескольких имен_файлов . Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла .
- Использование подстановочных знаков
Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).
- Задание атрибутов файлов для вывода
Если параметр /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 необходимо ввести следующую строку:
При однократном использовании команды dir можно отменить параметр с помощью переменной среды DIRCMD. Для этого введите параметр, который требуется отменить, в командной строке dir , указав перед ним знак минус. Например:
Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:
set= новый_параметр
Новые параметры по умолчанию останутся в силе для всех последующих команд dir , пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.
Чтобы удалить все параметры по умолчанию, введите следующую команду:
Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:
Команда set выведет список переменных среды и их параметров. Дополнительные сведения о этой команде смотрите .
- Команда dir с другими параметрами доступна в консоли восстановления.
Примеры
Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:
Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затем выводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.
Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:
dir /s/w/o/p/a:-d
Чтобы напечатать список каталогов, введите следующую команду:
Если указать параметр 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 выводит на экран алфавитный список файлов, удовлетворяющих заданному шаблону, в несколько колонок с паузой после заполнения каждого экрана.
23.04.16 11.1KПримерно два десятилетия назад не было никакого меню «Пуск » или панели задач. Дружелюбный графический интерфейс, который мы знаем, тогда не существовал, а вместо него был черный экран с мигающим курсором. Но если нужно получить доступ к некоторым элементам Windows , вам все равно придется открыть командную строку или CMD :
Если вы никогда не использовали командную строку, это руководство поможет вам освоить ее и расскажет о некоторых CMD командах , которые вы должны знать на случай возникновения чрезвычайных ситуаций.
Для доступа к ней в Windows 7 или выше вы можете набрать в панели поиска меню «Пуск » «cmd » или «командная строка ». Также можно найти ее здесь: Меню «Пуск»- Все программы –Стандартные — Командная строка . Полный список параметров каждой из приведенных ниже команд вы можете найти на сайте Microsoft .
Обратите внимание, что команды не чувствительны к регистру и для их выполнения вам нужно нажать Enter .
Основные команды командной строки
DIR — сокращение от Directory , эта CMD команда для новичка выводит список всех файлов и папок в определенном каталоге. А также их размер, расширение и свободное пространство, оставшееся на диске. Команда может быть изменена с помощью дополнительных параметров, таких как DIR /р (выводит список по страницам ), DIR /q (выводит информацию о владельце сайта ), DIR /w (выводит список в расширенном формате с максимальным количеством файлов в одной строке ), DIR / d (выводит список в расширенном формате с разбивкой на столбцы ), DIR /n (выводит длинный список одной строкой ), DIR /l (выводит несортированный список имен каталогов и файлов в нижнем регистре ), DIR /b (выводит список файлов без дополнительной информации ). DIR /s выводит список файлов и директорий данного каталога, а также всех подкаталогов. Введя DIR/? , вы увидите список всех доступных параметров.
Команда CD или CHDIR (Change Directory ) предназначена для того, чтобы сменить каталог. Команда выполняет несколько операций. CD перемещает вас на самый верх дерева каталогов. CD .. перемещает вас в родительский каталог по отношению к текущему. CD имя-каталога перемещает вас в этот каталог. Введите CD , чтобы вывести на экран имя текущего каталога.
MD или MKDIR (Make Directory ) позволяет создать каталог (папку ). Чтобы создать каталог, используйте следующий синтаксис: MD имя-каталога .
CLS очищает экран. Эта команда CMD в Windows применяется, если эмулятор командной строки заполнен перечнем команд и их операций.
EDIT имя-файла позволяет изменять содержимое файла.
Команда DEL позволяет удалить один или несколько файлов. В качестве альтернативы можно использовать команду ERASE . Для удаления файла используйте синтаксис DEL имя-файла .
Если вы хотите удалить все файлы с определенным расширением, то введите DEL *.doc , и из текущего каталога будут удалены все файлы с расширением doc . DEL *.* удаляет все файлы из текущего каталога, поэтому будьте осторожны с этой командой.
RD или RMDIR — вы можете использовать эту команду, чтобы удалить папку, но папка должна быть пустой. Синтаксис довольно прост. Введите RD имя-папки . Если вы хотите удалить папку, которая не является пустой, вы можете использовать RD / S имя-папки . Будьте осторожны с этой командой, так как она удаляет папку и все ее содержимое без возможности восстановления.
RENAME , или REN переименовывает файл или каталог. Синтаксис этой команды CMD управления компьютером следующий: RENAME текущее-имя новое-имя . Например, если вы хотите переименовать файл с именем iPhone.txt в iPad.txt , введите RENAME iPhone.txt iPad.txt .
MOVE
позволяет переместить один или несколько файлов из одного каталога в другой. Например, если вы хотите переместить файл 1.txt
размещенный в текущей директории в папку с именем Numericals
внутри текущего каталога, введите MOVE 1.txt Numericals
.
Если вы пытались переименовать директорию (папку
) с помощью команды RENAME
приведенным выше способом, то знаете, что это не работает. В этом нам поможет команда MOVE
, так как она также может быть использована для переименования каталогов. Введите MOVE
текущее-имя новое-имя, где текущее имя — это имя директории в текущей папке.
Команда COPY позволяет скопировать один или несколько файлов из одного места в другое. Команда позволяет объединять файлы одного и того же типа. Давайте посмотрим на различные примеры применения команды COPY :
- COPY имя-файла имя-папки скопирует файл имя-файла в уже существующую папку;
- COPY имя-файла новое-имя-файла создает копию файла с новым именем;
- COPY *.doc Word копирует все файлы с расширением .doc в папку с именем Word .
CMD основная команда XCOPY предназначена для файлов и каталогов, включая подкаталоги. Простейший вариант ее использования — скопировать все файлы с одного диска на другой. Синтаксис: XCOPY Исходный-диск: Диск-назначения: /e , где параметр /е позволяет копировать все подкаталоги, даже если они пусты. Используйте /s , чтобы запретить копирование пустых директорий. Вы можете использовать имена папок исходного диска или диска назначения, чтобы просто скопировать все содержимое одной папки в другую.
Дополнительные команды
Команда FORMAT в CMD позволяет стереть информацию с винчестера или подготовить его для копирования данных, если вы установили новый диск. Синтаксис для использования команды: FORMAT диск: . Если вы хотите переформатировать конкретный диск под конкретную файловую систему, вы можете сделать это с помощью команды: FORMAT диск: / FS: файловая-система , где файловая-система может быть: FAT , FAT32 или NTFS . После применения команды все данные с диска будут бесследно стерты.
FC — используется для сравнения двух файлов друг с другом. Предположим, у вас есть два файла gadgets360_1.txt и gadgets360_2.txt . Чтобы сравнить их, нужно ввести следующую команду: FC gadgets360_1.txt gadgets360_2.txt .
IPCONFIG выводит подробную информацию о сетевых настройках: IP-адрес , а также сообщает тип сетевого соединения вашего компьютера (с помощью Wi-Fi или Ethernet ). Введите IPCONFIG / ALL , чтобы получить обзор всех сетевых настроек, включая то, какие DNS-серверы вы используете. Введите IPCONFIG / RENEW , чтобы получить новый IP-адрес с сервера DHCP . Это может помочь, если у вас возникли проблемы с подключением к интернету.
Полный список команд можно вывести набрав 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 [диск:][путь][имя файла] атрибуты]] порядок сортировки]] время]] [диск:][путь][имя файла].
Как видно из синтаксиса, команду 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.