Похожие сайты…

 

E. Работа с файлами в «интерфейсе» командной строки операционной системы

E.1. Каталоги

Содержание

E.1.1. Для чего нужны каталоги?

При использовании жестких дисков может возникнуть ситуация, когда создаётся так много файлов, что возникает затруднения с их подбором и систематизацией [Эско Валтанен]. Этой ситуации не возникало при использовании старых мэйнфреймов, информация для которых хранилась на перфокартах, бумажных и магнитных лентах, и на других съёмных носителях. Не было её и в операционной системе CP/M и её «наследнице» MS-DOS v. 1.0, данные к которым хранились на тех же съёмных носителях - дискетах.

Ситуация начала меняться с появлением жестких дисков. Первоначально они имели небольшой объём — всего 10 – 20 объёмов дискет. Однако компьютеры с жестким диском были очень дорогими, и поэтому они использовались несколькими пользователями одновременно (вернее, попеременно). Так как пользователям могла понадобиться работа с файлами с одинаковыми именами, но разным по содержанию, логично было файлы каждого пользователя поместить в одинаковый каталог, или директорию. В MS-DOS каталоги появились, начиная с версии 2.0.

Скоро выяснилось, что каталоги можно использовать не только для разделения дискового пространства между пользователями, Оказалось, что с помощью директорий можно систематизировать данные на жёстком диске и сменных носителях. Так появилось второе название директории — каталог.

E.1.2. Правильное использование каталогов

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

  1. Разнородную информацию размещайте в разных каталогах, а однородную — в одном каталоге;
  2. Разделяйте программы и данные. Программные пакеты храните в отдельных корневых подкаталогах, а данные пользователя — в каталогах типа USER. В этом отношении идеальны операционные системы Microsoft Windows 95/98/2000/NT4. В них все программные пакеты хранятся в поддиректориях корневой директории «\Program Files», а данные пользователя — в каталоге «\My documents» (или «\Мои документы» в русифицированных версиях);
  3. Разделяйте данные разных пользователей, если это не сделано операционной системой (типа Microsoft Windows 2000/NT4). Для этого в каталоге данных (типа \USER или «\My documents») создайте дополнительные подкаталоги (\Vasya, \Yuri, \Inna и т.д.) Однако наилучшем именем будет сокращение из первых букв имени, фамилии и отчества пользователя (типа \YuAD, \IAB и т.д.);
  4. В операционных системах Microsoft Windows 2000/NT4 в качестве папки данных по-умолчанию выбирается папка \Privacy (\Личная), расположенная в системных областях операционной системы и имеющая уникальный путь для каждого пользователя.

  5. В своих директориях структурируйте данные своих проектов. Например, создавайте поддиректории \Otchet, \Games, \Private, \Work, \Misc, \Util и т.п.;

E.1.3. Правила работы с каталогами

Как Вы узнаете из последующих выпусков, каталог — это разновидность файла. Поэтому к ним применяются те же операции что и для файлов. Однако у каталогов есть своя специфика. В чём она заключается?

E.1.3.1. Особенности каталогов

1. Как правило, удалённый каталог почти невозможно восстановить. Восстановление каталога в MS-DOS возможно с помощью утилиты DiskEdit;

2. Каталоги нельзя разрезать и объединять (кроме Microsoft Windows 2000 — см. описание её файловых систем);

3. Во многих операционных системах переместить или переименовать каталоги можно, только создав новый, переписать данные из старого каталога, и лишь затем удалив старый каталог;

4. Каталог можно открыть. При этом открытый каталог становится текущим;

5. У любого каталога можно прочитать его оглавление — список файлов и подкаталогов, находящихся в нём;

6. Все действия по-умолчанию перенаправляются в текущий каталог. В любой момент времени существует единственный текущий каталог;

7. Каталог можно закрыть, только перейдя в другой каталог;

8. У каждого каталога, кроме корневого каталога, обязательно есть родительский каталог;

Эти особенности определяют возможности операций с каталогами. И далее автор рассматривает операции с каталогами в различных операционных системах с учётом этих особенностей.

E.1.4. Просмотр оглавления каталога и имени текущего каталога

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

Стандартные средства MS-DOS и UNIX не предоставляют такой сервис. Но, используя командную строку, внутренние и внешние программы и программные средства (как, например, набор внешних команд DOS и UNIX, или пакет Norton Utilites для MS-DOS), можно организовать поиск файлов и каталогов в компьютере, просматривание дерева каталогов, переход в любой каталог и просмотр содержимого как текущего, так и любого другого каталога. Таким образом, даже с этими простыми средствами можно работать на компьютере и использовать при этом все преимущества файловой системы.

Здесь рассматриваются программы просмотра содержимого каталога (синонимы — выдача листинга, списка, оглавления каталога), форматы выдачи этих листингов для операционных систем MS-DOS и UNIX. В обеих операционных системах листинг может выдаваться в полном, кратком и, возможно, некоторых других форматах.

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

  1. Наглядно представляется содержимое каталогов;
  2. Находятся файлы, необходимые для работы пользователя с программами;
  3. Происходит «ориентация» пользователя в дереве каталогов;

При выводе оглавления каталога его можно сформировать:

При выводе можно также указать, файлы с какими установленными или сброшенными атрибутами должны отображаться, а какие — нет. Для DOS это позволяет, например, выводить только подкаталоги, или только файлы, и т.д.

Замечания по сортировке

Обычно оглавление выдаётся в не отсортированном виде, исходя из очерёдности нахождения файлов или каталогов в директории. При включении сортировки по имени файла происходит вывод оглавления каталога в следующем порядке:

  1. Сначала выводятся каталоги, упорядоченные по имени;
  2. Потом выводятся файлы, упорядоченные по имени;
  3. Далее, если требуется, происходит упорядочение по типу файлов;

Этот тип сортировки выбирается по-умолчанию во многих операционных системах.

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

  1. Вначале выводятся каталоги, отсортированные по некоторому ключу;
  2. Потом идут файлы, отсортированные по заданному ключу;
  3. Затем, если требуется, файлы внутри заданного ключа сортируются по имени файла;

Следует отметить, что ключи сортировки файлов и подкаталогов могут не совпадать. В частности, если файлы сортируются по убыванию размера, то каталоги будут всё равно сортироваться по их имени. Это связано с особенностями реализации механизма определения размера каталогов.

В разных операционных системах для просмотра содержимого каталога используются разные программы. Рассмотрим их поподробнее

E.1.4.1. Просмотр оглавления каталога в командной строке операционных систем фирмы Microsoft

В командной строке для всех операционных систем Microsoft служит команда Dir. Её синтаксис:

dir [<опции>] {<путь>]|{<имя_файла>}

Параметры команды следующие:

<диск>:\<путь>\ указывают имена диска (устройства) и каталога, листинг которого желательно получить. <имя файла> — это указание имени файла (или шаблона группы файлов), характеристики которых нужно просмотреть. Если опущено имя файла или шаблон группы файлов, то выводится листинг всех файлов в каталоге (как при шаблоне *.*).

Если опущено имя устройства, то подразумевается текущий каталог указанного устройства.

Примеры:

dir *.com — список всех файлов с расширением .com текущего каталога.

dir \USERS\n*.* — список всех файлов, начинающихся с буквы "n", в каталоге USERS текущего диска.

dir a: — вывод оглавления текущего каталога диска А.

dir a:\ — вывод оглавления корневого каталога диска А.

Команда dir без параметров выводит содержимое текущего каталога с опциями выбора и сортировки по-умолчанию.

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

Пример:

dir myfile.doc

— выводит имя myfile.doc, если он есть в каталоге, или пустой каталог, если этот файл не содержится в текущем каталоге.

dir myfile.*

dir myfile

— выводит все файлы с именем myfile и любым расширением, если они есть в текущем каталоге.

dir *.txt

dir .txt

— выводит все файлы с расширением txt, находящиеся в текущем каталоге.

dir ?.txt ??.txt

— выводит все файлы с расширением txt в текущем каталоге, имеющих имя в один или два символа.

Вместо имён фалов допускается указывать путь к каталогу, причём только один.

Пример:

dir a:

—выводит оглавление текущего каталога диска a:

dir \

— выводит оглавление корневого каталога текущего диска.

dir a:\

— выводит оглавление корневого каталога диска a:

dir \util\tmp\

— выводит оглавление подкаталога tmp каталога util текущего диска, начиная с корневого каталога.

dir util\tmp

— выводит оглавление подкаталога tmp каталога util текущего диска, начиная с текущего каталога.

dir c:\dos\sys\

— выводится оглавление каталога C:\dos\sys\ (явное указание всех параметров).

Допускается также такая конструкция:

dir c:\dos\*.com

— выводятся все файлы с расширением com директории dos диска c:, начиная с текущей директории.

Опции команды DIR:

/D — вывод содержимого каталога постранично. После заполнения одной страницы листинга каталога (страница — экран DOS) система будет ждать нажатия любой клавиши для вывода очередной страницы листинга.

/W — вывод листинга в кратком формате.

/A:<атрибуты> — задание режима вывода на дисплей толь тех файлов, атрибуты которых совпадают с указанными в команде DIR атрибутами.

Конкретные значения атрибутов смотри в описании MS-DOS. По умолчанию выводится листинг всех файлов, кроме имеющих атрибуты «скрытый» и «системный».

Пользователю необходимо знать, что эта опция с атрибутом D (/A:D) выведет только подкаталоги данного каталога, а опция с атрибутом -D — только файлы данного каталога (/A:-D).

/O:<тип сортировки> — Задание способа сортировки имён файлов и каталогов при их выводе на экран дисплея.

Если ключ опущен, имена файлов и каталогов выводятся в порядке, в котором они записаны в каталоге.

Типы сортировки следующие:

N — сортировка по именам файлов в алфавитном порядке;

-N — сортировка по именам файлов в порядке, обратном алфавитному;

E — сортировка по расширениям файлов в алфавитном порядке;

-E — сортировка файлов по расширению в порядке, обратном алфавитному;

D — сортировка по дате и времени создания/модификации файлов в порядке их возрастания;

-D — сортировка по дате и времени создания/модификации файлов в порядке их убывания;

S — сортировка файлов по возрастанию их размера;

-S — сортировка файлов по убыванию их размеров;

G — подкаталоги выводятся перед файлами;

-G — подкаталоги выводятся после файлов;

C — сортировка файлов по возрастанию коэффициента сжатия (только на сжатых дисках);

-C — сортировка файлов по убыванию коэффициента сжатия (только на сжатых дисках);

А — сортировка по дате и времени последнего доступа к файлу в возрастающем порядке (для MS-DOS 7.0);

-А — то же самое, но в убывающем порядке (для MS-DOS 7.0).

Буквы можно комбинировать, например,

dir /O:GEN — выводит вначале имена каталогов, потом имена файлов, упорядоченных в алфавитном порядке сначала по расширениям, а затем (при одинаковом расширении) по именам. На мой взгляд, это самый удобный способ сортировки.

dir /O:-SC-G — выводит вначале листинг файлов по убыванию размера, Для файлов с одинаковым размером — по убыванию степени сжатия, после — подкаталоги.

Команда dir /O соответствует dir /O:GNE.

Опции:

/S — выводится оглавление не только для указанного каталога, но и для всех его подкаталогов.

(В пакете Norton Utilities есть программа, реализующая конструкцию dir/S. Она называется fl. Как её использовать — смотри описание пакета Norton Utilities или выполните команду fl /?).

/C или /H — выводится информация о степени сжатия файлов на сжатом диске (/C выдаёт коэффициент сжатия по размеру кластера на несжатом диске). Эти опции игнорируются при использовании опций /B и /W.

Остальные ключи смотри в описании команды DIR MS-DOS или подайте команду:

dir /?

Возможна также установка ключей «по-умолчанию» при вызове команды DIR. В этом случае эти ключи не придётся набирать на клавиатуре — это сделает операционная система. Опции задаются переменной окружения dircmd. Её формат:

set dircmd=<опции>

Например,

set DIRCMD=/O:GEN /W

Отменить эту переменную окружения можно, набрав в командной строке MS-DOS (а не оболочки типа Norton Commander).

set dircmd

При этом не сотрите других переменных MS-DOS!

Формат выдачи оглавления каталога.

В любой операционной системе и файловой оболочке оглавление каталога может быть выдано в полной, краткой форме, и, возможно, некоторых других форматах.

Рис. E.1. Просмотр оглавления каталога в MS-DOS (полный формат)

Рис. E.2. Просмотр оглавления каталога в командной строке Windows 98 (полный формат)

Рис. E.3. Просмотр оглавления каталога в MS-DOS (краткий формат)

В кратком формате MS-DOS выдаёт следующую информацию (сверху вниз):

  1. Метка диска;
  2. Серийный номер диска;
  3. Имя каталога;
  4. В пять столбцов выводятся краткие имена файлов и каталогов, упорядоченных согласно опциям просмотра, и только те, которые соответствуют указанному шаблону. При этом имена подкаталогов заключаются в квадратные скобки, например, [DOS], и обязательно присутствуют обозначения текущего [.] и родительского [..] каталогов. Дополнительные атрибуты файлов не выводятся (порядок вывода файлов и каталогов в кратком формате следующий: слева направо и сверху вниз, то есть построчно).
  5. Итоговая информация о файлах и каталогах (число файлов, подкаталогов, занимаемое ими место на устройстве).
  6. Количество свободного места для файлов на устройстве.

(Для примера просто дайте компьютеру команду dir /W).

В полном формате листинга каталога MS-DOS изменяется только вид листинга файла (пункт 4). При этом сначала выводятся символы текущего каталога «.» и родительского «..». Далее идут имена файлов и подкаталогов вместе с атрибутами, упорядоченные сверху вниз (по столбцам). Порядок появления атрибутов (столбцов) следующий:

а) Краткое имя файла или подкаталога (прописными буквами).

б) Расширение (тип) файла или подкаталога, если оно есть (прописными буквами).

в) Признак подкаталога <DIR>. Эта комбинация выводится только после имени подкаталога. После имени файла эта позиция не заполняется.

г) Размер файла в байтах. Эта позиция не заполняется в случае каталога.

д) Дата создания файла или подкаталога, или дата последней модификации файла.

е) Время создания файла или подкаталога, или время последней модификации файла.

ж) Длинное имя файла (для MS-DOS 7.0). Имя и расширение выводятся с сохранением регистра символов (то есть прописными и строчными буквами).

Полный формат вывода оглавления каталога принят в MS-DOS по-умолчанию.

E.1.4.2. Просмотр оглавления каталога в командной строке UNIX-подобных операционных систем

В UNIX для выдачи содержимого каталога используется команда ls.

В UNIX формат команды ls следующий:

ls [опции][<путь>][<имя файла>]

где <путь> — указание имени каталога, листинг которого следует произвести.

<имя файла> — имя файла (или шаблон группы файлов), список которого хотелось бы просмотреть.

Если не указан путь, то подразумевается текущий каталог.

Если не указано имя файла (или шаблон), подразумеваются все файлы каталога.

Опции:

-l — листинг файлов в полном формате.

-F — имена файлов и каталогов различаются.

-а — вывод в листинге всех файлов и каталогов, а не только тех, к которым есть доступ.

-d — вывод имени каталога.

Возможны и другие опции. Чтобы узнать их, смотри описание своей версии UNIX или выполните команду

man ls

Комбинация опций:

-al — вывод в листинге всех файлов в полном формате.

-ld — просмотр атрибутов (полный листинг) каталогов.

Пример:

ls -ld thank you — просмотр с атрибутами и правами доступа директорий или файлов с именами thank и you.

ls -l myfile — выдаёт атрибуты и права доступа файла myfile.

Как ясно из этого описания, команда ls не выдаёт полного имени текущего каталога. Это делается командой pwd. Команда pwd выводит в стандартный поток вывода полное имя текущего каталога.

В системе Linux (версия UNIX) имеется набор утилит mtools, которые обеспечивают доступ к дискетам, отформатированным в MS-DOS. Для получения списка файлов, расположенных в каталогах на этих дискетах, в Linux необходимо набрать команду mdir. Формат её похож на формат команды dir в MS-DOS, а правила написания устройств, путей и шаблонов в параметрах команд mtools, относящихся к дискете, соответствуют правилам, принятым в MS-DOS. Более подробно о формате и опциях программы mdir смотри руководство соответствующей версии Linux, или нужно выполнить команду man mdir.

Формат выдачи оглавления каталога

В UNIX оглавление каталога в кратком формате состоит из последовательности имён файлов и подкаталогов, содержащихся в нём, без атрибутов и другой дополнительной информации, расположенных построчно и разделённых между собой пробелами. Символы родительского и текущего каталога не выводятся.

Рис. E.4. Просмотр краткого оглавления каталогов в UNIX

(Для примера наберите в UNIX команду ls).

По-умолчанию имена файлов и подкаталогов на выводе оглавления в UNIX не различаются. Для того чтобы система при выводе делала различие между именами файлов и каталогов, используется опция -F (пример: ls -F). Тогда после вывода имени подкаталога следом выводится дробная черта «/». Также по умолчанию не выводятся недоступные пользователю UNIX файлы. Чтобы их тоже вывести надо использовать опцию -а.

Полный формат вывода оглавления каталога принят в UNIX следующий: построчно выводятся имена файлов с атрибутами, записанные по столбцам.

Рис. E.5. Просмотр полного оглавления каталогов в UNIX

В столбце указываются:

а) Тип файла («-» — это файл, «d» — директория, каталог).

б) Права доступа к файлу (если стоит «-», то атрибут не установлен).

Первые три атрибута указывают права владельца:

r — разрешить чтение файла;

w — разрешить запись в файл;

x — разрешить запуск на выполнение файла.

Вторые три атрибута указывают права доступа членов группы: r — чтение, w — запись, x — выполнение.

Третьи три атрибута указывают права доступа к файлам всех остальных пользователей UNIX: r — чтение, w — запись, x — выполнение.

Право на чтение для каталога позволяет получать список файлов, находящихся в данном каталоге.

Право на выполнение позволяет переходить в этот каталог. Право на запись позволяет создавать и удалять файлы в данном каталоге.

в) Имя владельца данного файла.

г) Имя группы пользователей данного файла.

д) Размер файла в байтах.

е) Дата и время создания и/или последнего изменения.

ж) Имя файла.

E.1.4.3. Просмотр имени текущего каталога в командной строке UNIX-подобных операционных систем

В операционных системах UNIX, в отличие от операционных системах Microsoft, имя текущего каталога не выводится в его оглавлении и часто не выводится в приглашении операционной системы. Для определения имени текущего каталога (точнее, имени и полного пути) служит команда pwd.

Её формат прост — необходимо набрать в командной строке слово pwd .

E.1.5. Смена текущего диска в MS-DOS

В DOS для смены текущего диска (устройства) набираются его буква, а затем ставится двоеточие и нажимается клавиша Enter.

Пример:

а: — сделать текущим диск А.

с: — сделать текущим диск С.

У нового устройства становится активным тот каталог, который был текущим в последнем сеансе работы с этим устройством, или корневой, если с устройством ещё не работали.

Не следует делать текущим устройство:

а) которое не значится в списке подключённых;

б) на которое не установлен сменный носитель (дискета, CD-ROM и так далее);

в) которое имеет физические повреждения (например, не читается дискета, сломан дисковод и так далее);

г) носитель не форматирован или форматирован не в том формате (например, дискета с файлами UNIX в операционной системе MS-DOS).

E.1.6. Изменение текущего каталога

E.1.6.1. Смена текущего каталога в MS-DOS

Для изменения текущего каталога в DOS используется команда cd. Её формат:

cd [(<дисковод>:)<путь>]

Если устройство не указано, то подразумевается текущее устройство.

Если перед символом пути не стоит бэкслеш «\», то путь отсчитывается от текущего каталога, иначе — от корневого каталога. Примеры:

cd \ — переход в корневой каталог текущего устройства.

cd \users\den — переход в каталог users\den текущего диска.

cd .. — переход в родительский каталог текущего каталога текущего диска.

Запуск команды cd без параметров выдаёт имя текущего каталога.

E.1.6.2. Смена текущего каталога средствами Norton Utilites

Norton Utilites предоставляет следующий сервис и способ перехода в каталог — программу ncd. Её форматы:

ncd [<режимы>] — запуск в диалоговом режиме;

ncd <начало имени каталога>[<режимы>] — переход в каталог с именем, начало которого совпадает с указанным. Например, для перехода в каталог \Corel50\Programs\Data можно просто набрать ncd DAT .

Если это окажется не тот каталог (например, DATE или каталог DATA в другом родительском каталоге), можно повторить эту же команду.

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

Чтобы перейти в выделенный каталог, надо нажать Enter. Для выхода из программы без изменения текущего каталога — нажать Esc.

В диалоговом режиме также можно:

1) Создавать подкаталог

(имя запрашивается) — клавиша F7.

Удалить пустой каталог — клавиша F8.

Переименовать каталог (имя запрашивается) — клавиша F6.

Считать информацию о каталогах на диске — клавиша F2.

Просмотреть дерева каталогов на другом диске — F3.

Просмотреть список файлов в выделенном каталоге — F4.

Напечатать или вывести в файл изображение дерева каталогов на диске — клавишами Alt+*

Установить метку на диске — клавишами Ctrl+*

Все эти действия можно выполнить также через меню, для входа в которое следует нажать клавишу Alt.

E.1.6.3. Смена текущего каталога в UNIX-подобных операционных системах

В UNIX для перехода в другой каталог также используется команда cd. Её формат:

cd [<имя каталога>]

Перейти в подкаталог текущего каталога можно просто набрав cd и его имя, например:

cd prop

переход в каталог prop текущего каталога.

Можно перейти в любой каталог, указав его полное имя:

cd /home/USERS/prop — переход в каталог home/users/prop текущей системы. Здесь путь указан явно. Переход в родительский каталог осуществляется командой:

cd ..

а в пользовательский каталог по-умолчанию — просто командой без параметров:

cd

Список всех подкаталогов в рабочем каталоге UNIX задаётся командой

ls -R

Для перехода в каталог на дискете, форматированной под DOS, в системе Linux используют команду mcd, аналогичную команде cd в DOS.

E.1.7. Создание каталогов

Создание каталогов в командной строке DOS и UNIX осуществляется командой mkdir. По-умолчанию новый каталог создаётся в текущем. Формат команды:

- в DOS:

mkdir <имя_каталога>

или

md <имя_каталога>

Имя каталогов и файлов в директории не могут совпадать.

- в UNIX:

mkdir <имя_каталога>

В каждой директории имена каталогов и файлов должны быть уникальными и не совпадать.

mmd — создаётся средствами UNIX каталог на дискете, форматированный в MS-DOS. Формат её — смотри md в MS-DOS.

Путевое имя также может быть полным или кратким (относящимся к текущему каталогу).

E.1.8. Удаление каталогов

Удаление каталогов осуществляется:

В DOS командами^

rd [<дисковод>:]<путь>

или

rmdir [<дисковод>:]<путь>

- удаляются файлы или каталоги со всеми содержащимися файлами и подкаталогами. Можно использовать шаблоны, а также полное или краткое имена файлов\каталогов. Опция /Y отменяет вывод запросов на удаление подходящих под шаблон файлов.

Примечание: во многих версиях MS-DOS удаление непустого каталога невозможно !

В UNIX:

rmdir <имя каталога> — удаляет каталог со всем содержимым.

mrd <имя каталога> — удаляет пустой каталог на дискете, форматированной в MS-DOS.

E.1.8.1. Программа ZAP.COM

Для того, чтобы обойти ограничение некоторых версий MS-DOS на удаление непустых директорий, существует программа ZAP. Она работает в FAT12 и FAT16, не поддерживая FAT32 и VFAT. Формат команды:

ZAP {<опции>] <имя_каталога>

Команда удаляет все файлы из каталога с именем <имя_каталога> и всех последующих подкаталогов, оставляя дерево без изменения. Её основные ключи:

/S - удаляются и все подкаталоги, включая текущий. После удаления каталога командой ZAP с ключом /S восстановить файлы практически невозможно !

/Y - удаление файлов без запроса:

Are you sure? *.*

Этот запрос чисто формальный и служит защитой от случайного использования команды.

/? - выводит список всех опций команды ZAP. То же самое, что и запуск программы ZAP без параметров.