Материал: Аверянов Введение в оператсионные системы и основы программирования 2015

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Довольно часто, для просмотра существующих каталогов и файлов используется команда DIR, отображающая список имен каталогов и файлов в указанной директории в различных форматах, определяемых ключами команды. Использование команды DIR без ключей приводит к появлению на экране избыточной информации. Чтобы получить только список имен каталогов и файлов, команду DIR необходимо запустить с ключом /B (см. пример 2.9).

Пример 2.9. Просмотр списков имен каталогов и файлов командой DIR d:\WINLAB>dir /b

papa

d:\WINLAB>dir papa /b incredible

math

d:\WINLAB>dir papa\math /b strong

study

d:\WINLAB>dir papa\math\strong /b papa1.txt

d:\WINLAB>

Будучи запущенной без параметров команда DIR отображает список каталогов и файлов текущей директории (см. пример 2.9). Одновременное использование ключа /S совместно с ключом /B инициирует вывод на экран всех вложенных каталогов и файлов с полными путями (пример 2.10).

Пример 2.10. Отображениевсех вложенныхфайлов и подкаталогов d:\WINLAB>dir papa /b /s

d:\WINLAB\papa\incredible

d:\WINLAB\papa\math

d:\WINLAB\papa\incredible\papa3.txt

d:\WINLAB\papa\incredible\papa4.txt

d:\WINLAB\papa\math\strong

d:\WINLAB\papa\math\study

d:\WINLAB\papa\math\strong\papa1.txt

d:\WINLAB\papa\math\study\papa2.txt

d:\WINLAB>

В наиболее общем случае формат команды DIR выглядит следующим образом:

DIR [диск:][путь][имя файла] [/A[[:]атрибуты]] [ключи]

76

/A – отображение файлов с указанными атрибутами: D – каталоги; R – файлы; H – скрытые файлы; S – системные файлы; A – файлы, готовые для архивирования; I – файлы с неиндексированным содержимым; L – точки повторной обработки; префикс «-» имеет значение НЕ.

/B – вывод только имен файлов.

/C – применение разделителя групп разрядов при выводе размеров файлов. Используется по умолчанию. Ключ /-C отключает применение разделителя групп разрядов.

/D – вывод списка в нескольких столбцах с сортировкой по столбцам.

/L – использование нижнего регистра для имен файлов.

/N – новый формат длинного списка, имена файлов выводятся в крайнем правом столбце.

/O – сортировка списка отображаемых файлов: N – по имени (по алфавиту); S – по размеру (с минимального); E – по расширению (по алфавиту); D – по дате и времени (начиная с самого старого); G – начало списка каталогов – префикс «-» обращает порядок; /P – пауза после заполнения каждого экрана.

/Q – вывод сведений о владельце файла.

/R – отображение альтернативных потоков данных файла. /S – отображение файлов каталога и всех его подкаталогов.

/T – выбор поля времени для сортировки: C – время создания; A – время последнее использования; W – время последнего изменения.

/W – вывод списка в несколько столбцов.

/X – формат аналогичен выводу с ключом /N, но короткие имена выводятся слева от длинных имен файлов. Если короткого имени у файла нет, вместо него выводятся пробелы.

/4 – вывод номера года в четырехзначном формате.

Ненужные или неудачно созданные каталоги могут быть удалены из файловой системы путем использования полностью идентичные по своему действию команды RD или RMDIR (remove directory) в формате:

RMDIR [/S] [/Q] [диск:]путь

RD [/S] [/Q] [диск:]путь

77

Ключ: /S – удаление каталога со всеми вложенными каталогами. Ключ: /Q – отключение запроса на подтверждение при удалении

вложенных каталогов и при использовании ключа /S.

Применение RD или RMDIR без ключей для удаления каталога PAPA, содержащего вложенные каталоги, не приведет к успеху, тогда как использование ключей полностью решает задачу удаления любых каталогов – о чем свидетельствуют результаты просмотра как командой DIR, так и командой TREE (пример 2.11).

Пример 2.11. Удаление всехвложенных файлов и подкаталогов d:\WINLAB>rd papa

Папка не пуста. d:\WINLAB>rd papa /q /s d:\WINLAB>dir /b d:\WINLAB>tree . D:\WINLAB

Подпапки отсутствуют d:\WINLAB>

Ошибка при создании каталога может заключаться в его именовании. Например, если в дереве А (см. рис. 2.5) вместо каталога STUDY был создан STADY. При этом совсем необязательно удалять каталог с неправильным именем – достаточно его переименовать. Переименование каталогов может потребоваться и в ряде других случаев. Для этого применяются полностью идентичные команды: REN и RENAME в формате:

RENAME [диск:][путь]имя_файла1 имя_файла2.

REN [диск:][путь]имя_файла1 имя_файла2.

Весьма важно отметить, что команды REN и RENAME – это именно команды переименования каталогов и файлов, а не перемещения (как команда MOVE, см. п. 2.1.4), поэтому для конечного каталога (нового имени) не может быть указано другое местоположение – другой диск или другой каталог (пример 2.12).

Пример 2.12. Переименование каталога d:\WINLAB>dir papa\math /b

stady

78

strong

d:\WINLAB>ren papa\math\stady papa\study

Ошибка в синтаксисе команды. d:\WINLAB>ren papa\math\stady study d:\WINLAB>dir papa\math /b

strong study

d:\WINLAB>

Важнейшим вопросом для файловой системы является навигация по дереву существующих каталогов, т.е. возможность смены текущего каталога и, соответственно, использование коротких относительных путей для вложенных каталогов вместо абсолютных. Изменение текущего каталога в командном интерпретаторе Cmd.exe осуществляется идентичными командами CD или CHDIR (change directory) в формате:

CHDIR [/D] [диск:][путь]

CD [/D] [диск:][путь]

При отсутствии параметров на экран выводится имя текущего каталога (см. пример 2.8), а при наличии параметра происходит смена текущего каталога – текущим становится каталог, указанный в качестве параметра команды CD или CHDIR через абсолютный или относительный путь (пример 2.13).

Пример 2.13. Вывод имени текущего каталога d:\WINLAB>cd

D:\WINLAB

d:\WINLAB>

Если в качестве параметра команде CD или CHDIR указано только имя диска, то результатом будет отображение текущего каталога на указанном диске – при смене диска командный интерпретатор запоминает текущий каталог на диске, и при следующем выборе диска текущий каталог не изменится (пример 2.14).

Пример 2.14. Вывод имени текущего каталога на диске d:\WINLAB\papa\math\study>c:

C:\Users >cd d: D:\WINLAB\papa\math\study

79

C:\Users >d: d:\WINLAB\papa\math\study>

Использование ключа /D в командах CD и CHDIR позволяет осуществлять изменение текущего диска и текущего каталога одной командой (пример 2.15).

Пример 2.15. Одновременная сменатекущего диска и текущего каталога d:\WINLAB\papa\math\study>c:

C:\Users>

C:\Users> cd /D d:\winlab\papa d:\WINLAB\papa>

Для выбора текущего каталога, удобного для работы в конкретной ситуации, используются как абсолютные пути к каталогам, так и различные способы записи относительных путей (пример 2.16). Это же касается всех остальных команд Cmd.exe, работающих с каталогами и файлами.

Пример 2.16. Смена текущего каталога с различной записью путей d:\WINLAB>tree .

D:\WINLAB

└───papa

├───incredible

└───math

├───strong └───study

d:\WINLAB>cd papa\math\strong d:\WINLAB\papa\math\strong>cd ..\..\incredible d:\WINLAB\papa\incredible>cd d:\WINLAB\papa\math\study d:\WINLAB\papa\math\study>cd ..\strong d:\WINLAB\papa\math\strong>cd \winlab

d:\WINLAB>

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

80

Источник: https://studfile.net/preview/16708824/