Глава 17. Работа с файлами в DOS Режимы вывода
информации Примеры /К Ч копировать атрибуты файлов. При отсутствии этого параметра программа ХСору
устанавливает у копий файлов атрибут "архивировать", а атрибут "только для
чтения" Ч сбрасывает. /N Ч копировать только короткие имена файлов, а длинные Ч не копировать. Это
может быть полезно для переноса файлов на компьютеры, работающие под
управлением DOS или Windows 3.1. Данные режимы введены только в MS DOS 7.0, входящей в состав Windows 95: /Q Ч "молчаливый" режим Ч программа ХСору не выводит имена файлов во время копирования; /L Ч выводить имена файлов во время копирования; /F Ч выводить полные имена исходных и результирующих файлов (полные имена
включают сведения о каталоге и дисководе). хсору а:\ b:\ /s /еЧ копирование всех файлов и каталогов диска а: на Ь:; хсору ".doc а:\ /sЧ копирование всех файлов с расширением .doc из текущего каталога в
корневой каталог диска а:. Файлы с расширением .DOC из подкаталогов текущего ка-
талога также копируются в одноименные подкаталоги корневого каталога диска а: ; хсору ".* а\ /s /еЧ копирование всех файлов из текущего каталога и всех его подкатало-
гов (первого и более высоких уровней) на диск а: в его корневой каталог и соответст-
вующие подкаталоги (создание архивной копии файлов из текущего каталога и его
подкаталогов); хсору *." а:\ /т /s /еЧ копирование всех измененных файлов из текущего каталога и
всех его подкаталогов (первого и более высоких уровней) на диск а: в его корневой ка-
талог и соответствующие подкаталоги (обновление архивной копии файлов из текуще-
го каталога и его подкаталогов). хсору "." а:\ /s /е /h /kЧ копирование всех файлов из текущего каталога и всех его
подкаталогов (первого и более высоких уровней) на диск а: в его корневой каталог и
соответствующие подкаталоги, причем копируются также и файлы с атрибутами
"скрытый" или "системный". Атрибуты у копий файлов устанавливаются в точности
такими же, как у оригиналов (исходных файлов). Замечания. 1 Х При попытке перезаписи файла с атрибутом "только для чтения" программа
ХСору выдаст сообщение "Access denied" ("Доступ отвергнут"). В MS DOS 7.0, входящей в
состав Windows 95, можно разрешить перезапись файлов с атрибутом "только для чтения".
Для этого надо задать параметр /R. 2. Если диск, на котором создаются файлы, будет полностью заполнен, программа ХСору
выдаст сообщение "File creation error" ("Ошибка при создании файла"). 3. Если задан параметр /S, то каталог, в который копируются файлы, не должен быть подка-
талогом ни одного из каталогов, из которого копируются файлы. Если это не так, то про-
грамма ХСору выдаст сообщение "Cannot perform a cyclic copy" ("Нельзя выполнять цикли-
ческое копирование"). 4. Если программа ХСору в ходе своей работы должна создать подкаталог с некоторым име-
нем, а в каталоге имеется файл с таким же именем, то программа ХСору выдаст сообщение:
"Unable to create directory" ("Нельзя создать каталог").
Глава 18 Работа с каталогами в DOS 18.1. Команда смены текущего дисковода Формат команды Д^ смены текущего дисковода надо набрать имя дисковода, который должен стать текущим, и затем двоеточие, например: А: Ч переход на дисковод А:
В: Ч переход на дисковод В:
С: Ч переход на дисковод С: Напоминаем, что после ввода команды надо нажать клавишу CEnter).
Предупреждение ^ следует делать текущим дисковод на дискетах, если: Х на дисководе нет дискеты; Х дискета не читается; Х дискета не форматирована. 18.2. Изменение текущего каталога Для изменения текущего каталога имеется команда Cd (Change Directory).
Формат команды cd {_дисковод-.)путь Если задан дисковод, то текущий каталог изменяется на этом дисководе, ина-
че Ч на текущем дисководе. Примеры ^ \ переход в корневой каталог текущего диска:
cd \exe\dos - переход в каталог \exe\dos. Команда cd без параметров сообщает текущие диск и каталог. Замечания. 1. Для того чтобы перейти в каталог на другом диске, надо ввести команду
перехода на другой диск, а затем, если нужный каталог не является там текущим, команду
cd для изменения текущего каталога. 2. Удобно, когда текущие диск и каталог отображаются в приглашении DOS. Формат при-
глашения может быть установлен, например, такой командой DOS: prompt $р$д . Обычно
команду prompt записывают в файл AUTOEXEC.BAT (см. п. 21.3). 18.3. Просмотр каталога Для вывода оглавления каталога имеется команда Dir.
Формат-команды: ^ {.дисковод-.){_путь\]{_имя-файла) ^параметры) В имени файла можно употреблять символы * и ?. Если имя файла не задано,
то выводится все оглавление каталога, иначе выводятся только сведения о
данном файле или группе файлов. Если в команде не указаны дисковод или путь, то подразумеваются текущий
дисковод и текущий каталог. Выполнение команды По умолчанию (если не задано иных режимов) команда Dir для каждого фай-
ла сообщает его имя, расширение имени, размер файла в байтах, дату и время
создания или последнего обновления файла. Подкаталоги отмечаются .
В MS DOS версии 7.0 (входящей в состав Windows 95) в правой колонке ото-
бражается длинное имя файла. В конце выдачи сообщаются итоговые данные
о числе выведенных файлов и каталогов, общем объеме выведенных файлов и
о размере свободного пространства на диске (рис. 18.1). Volume Serial Number is 97EE-OFF8 номеи "иска
Directory of D:\MACH64 -^Ч Имя каталога tA ^ .i Дата и время (создания
имифа^а . 31.10.95 9:34 . ^^илипоследпей
^^^-^-===-Ч--Ч ^LAO-Qb 9'34 Je' модификации файла
(д^омVDB^) з 2аг(^Г^"^5Чт^ПГ^иэтом.уов
IBH_8514VDB р 467 ^Г07. 94ЧГ57Т^ВМ,8514^0В
MIT_15 VDB файла 635 12.01.95 13:14 MIT 15.VDB
MIT_17 VDB V 639 1?.01.95 13:15 Mil 17.VDB
MIT_21 VDB Х^^^14.03.95 12:09 MIT_?1.VDB
NEC_3FGX VDB (553 12. 01 .95 12:32 NEC_3FGX.VDB
NEC_4FG VDB 742 12.01.95 12:34 NEC_4FG.VDB ^
NEC_5FG VDB 567 12.01.95 12:43 NEC,5FG.VDB "^
NEC_6FG VDB 914 12.01.95 12:36 NEC.6FG.VDB Дпипныв
VESA75 VDB 562 12.01.95 18:35 VESA75.V[-IB ^^0^"°"
VGA VDB 292 06.07.94 18:21 VGA.VDB IVISDOS7.0)
^DIR.^.,. SUPERVGA VDB 388 10.02.95 12:53 SUPERVGA.VDB /
Признак EEDATA ЕЕ ^^Ч.1 344 31.10.95 12:05 EEDATA.FF )(Х
каталога ^Ч'^DIR^ 24.04.96 7'.??. QQC^=======ЧХЧ-^_^
Итоговые README'1 TXT Ч3 601 10.10.94 0:00(Btiadini:' about. ATI Ma(;h 64.1хГ^) о выведенных ^f^nL сЧЧ--ЧКопичесшо ('.вободного
фай^ино^а.^Г^З d^(s) (^^873 21^)5^F^м>.с1ан.ч "иске Рис. 18.1. Информация, выводимая командой dir Рис. 18.1. Информация, выводимая командой air Параметры Формат вывода сведений о каталоге можно изменить параметрами команды
Dir. Этих параметров довольно много. Сначала мы расскажем о наиболее
употребительных из них: /Р Ч поэкранный вывод оглавления. При указании этого параметра DOS после запол-
нения экрана будет ждать до тех пор, пока пользователь не нажмет любую кла-
вишу, после чего будет выводить следующую страницу. Это очень удобно при
выводе оглавления каталога, содержащего много файлов: /W Ч вывод данных в широком формате: приводятся только имена файлов и подката-
логов (имена подкаталогов заключаются в квадратные скобки), причем эти име-
на выводятся по пять в каждой строке: Volume in drive D is MS-DOS_6
Volume Seria] Number is 97(1:.OFF8
Directory оГ D:\MACH64 [.] [..1 CUSTOM.VDU I'UM,8514.VHP M11_1:J.V!.lll
MIT_17.VDB Mn_21.VDB NEC_3EGX.VI)1! NK^4FG.VI)R NEC ShG.VDI!
NEC_6EG.VOB VESA75.VDB VGA.VDB SUPERVGA. VDB 11 DA I A. \ \
[DOC] README'l.lXI
14 file(s) 14 908 bylcs
3 chr(s) 1 556 152 320 bytos f-cn Часть 4. Основы работы в среде MS DOS ( 'псци.411.ill..
ii;4).iMi ч i ii.i Остальные параметры используются реже, в основном для специальных це-
лей. Поэтому данный пункт при первом чтении вполне можно пропустить. /Обуквы Ч позволяет задать порядок вывода: /ON
/ОЕ
/OS
/OD /ОС /OG
/ОА сортировка по имени файла:
сортировка по расширению имени; сортировка по размеру файла (сначала меньшие, потом большие);
сортировка по дате и времени создания или последней модификации
файла (сначала более старые файлы); сортировка по степени сжатия (для файлов, находящихся на сжатых
дисках, образованных драйверами DbISpace или DrvSpace):
сначала выводить сведения о подкаталогах;
сортировка по дате и времени последнего доступа к файлу (этот ре-
жим поддерживается только в MS DOS 7.0, входящей в состав Win-
dows 95). Минус после буквы означает изменение порядка сортировки, например, /OD-
означает сортировку по дате и времени создания или последней модификации
файла с выводом сначала более новых файлов. После /0 можно задать несколько букв, в этом случае сначала сортировка идет
по первому указанному признаку, потом Ч по второму и т.д. При этом буква G,
если она указана, должна быть первой (например, /OQN, а не /ONQ). Если после
/О не указано никаких букв, это эквивалентно /OGNE Ч выводу сначала имен
подкаталогов, а потом имен файлов с сортировкой по имени, а при одинаковом
имени Ч по расширению. /S выводится оглавление (или сведения об указанных файлах) не только для ука-
занного в команде каталога, но также для всех его подкаталогов: /^атрибуты Ч выводятся сведения только о файлах, имеющих указанные атрибуты.
Атрибуты обозначаются буквами: R Ч "только для чтения", А Ч "архиви-
ровать", S Ч "системный", Н Ч "скрытый", D Ч подкаталог. Символ "-" после
буквы означает, что должны выводиться сведения только о файлах и подкатало-
гах, не имеющих данного атрибута; /С-
/В- выводятся сведения о степени сжатия (для файлов, находящихся на сжатых
дисках, образованных драйверами DbISpace или DrvSpace);
выводятся только имена файлов, причем в обычном формате: имя и расширение
разделяются не пробелами, а точкой (не "CUSTOM VDB", a "CUSTOM. VDB". Какие-
либо заголовочные и итоговые сведения при указании этого параметра не выво-
дятся. Если в команде указан также параметр /S, то выводятся полные имена
файлов, то есть имена, включающие имя диска и путь (полное имя каталога). В
MS DOS 7.0, входящей в состав Windows 95, выводятся длинные, а не короткие
имена файлов. Данный параметр удобен для получения списка файлов для по-
следующей обработки. .^Х11\,и"1чцип Для получения привычного формата сведений о дате и времени необходима
правильная установка параметров страны в файле CONFIG.SYS. Так, если файл COUN-
TRY.SYS находится в каталоге C:\EXE\MSDOS, то в файле CONFIG.SYS должна быть
строка COUNTRY = 007, 866, C:\EXE\MSDOS\COUNTRY.SYS. Примеры Х Сначала приведем примеры обычного использования команды Dir. Д dir Ч вывести оглавление текущего каталога: ' dir *.ехе Ч вывести сведения обо всех файлах с расширением .ЕХЕ из текущего каталога:
dir а: Ч вывести оглавление текущего каталога на дисководе А:.
dir а:\ Ч вывести оглавление корневого каталога на дисководе А:.
,1 dir /р Ч вывести оглавление текущего каталога с паузами при заполнении экрана;
' dir /w Ч вывести оглавление текущего каталога в широком формате:
dir /о /р Ч вывести отсортированное оглавление текущего каталога (сначала подкаталоги, потом файлы с сортировкой по имени и расширению), делать паузы при заполнении
1 экрана. ; Теперь приведем более сложные примеры: i dir с:\*.ехе /s Ч вывести сведения о всех файлах с расширением .ЕХЕ на диске С: ;
i dir с:\*.ехе /s/ЬЧто же, но выводить только имена файлов, без заголовочных и итого-
' вых данных по каждому каталогу;
dir *.* /аг Ч вывести сведения о всех файлах с атрибутом "только для чтения" в текущем каталоге; dir с:\*.* /ash /s /b Ч вывести сведения о всех файлах на диске С: с атрибутами "системный" и "скрытый", при этом выводить только имена файлов. Глава 18. Работа с каталогами в DOS ВЫНОД 01Л."1РИ1(Ч 1ИЯ
п фаин и n:i 11{)и1 IK'U Примеры т Иногда требуется вывести сведения о содержимом каталога не на экран, а в
файл или на принтер. Это легко сделать с помощью средств перенаправления
ввода-вывода DOS (см. п. 16.10). Надо только после команды написать > имя-
файла для вывода оглавления в файл, и > PRN для вывода на принтер. dir > prn Ч вывести оглавление текущего каталога на принтер:
dir с:\*.ехе /s /Ь > exeliles.txt Ч создать в файле EXEFILES.TXT список всех файлов с
расширением .ЕХЕ, находящихся на диске С:. .i.ihn''i.iiiiil' Вывод на PostScript-принтер описанным выше способом невозможен Ч здесь
придется вывести оглавление в файл и распечатать этот файл с помощью какого-либо ре-
дактора документов. А при выводе на страничные (например, лазерные) принтеры необхо-
димо после вывода оглавления послать на принтер символ конец страницы, чтобы вывелась
последняя страница с оглавлением. Для этого можно ввести команду copy con prn, а затем
нажать (сГг1](Т), (Ц] и ("Enter). 18.4. Создание каталога Для создания нового каталога имеется команда Md (Make Directory). Форма i ком:.п1Д1'1 md ^дасковод^путь Примеры "^ ^^ ,
rnda:\work создание подкаталога ххх в текущем каталоге;
создание подкаталога work в корневом каталоге диска а: 18.5. Уничтожение каталога Форма! команды
Примеры Для удаления (пустого) каталога имеется команда Rd (Remove Directory).
rd ^дисковод^путь удаление подкаталога ххх в текущем каталоге:
удаление подкаталога work в корневом каталоге диска А: rd ххх
rd a:\work Отметим, что с помощью команды rd можно удалить только пустой каталог,
т.е. каталог, не содержащий файлов и подкаталогов. А для удаления каталога
со всеми содержащимися в нем файлами и/или подкаталогами можно ис-
пользовать команду DelTree, как это описано ниже. 18.6. Удаление каталога со всем содержимым Форма r команды Иногда требуется удалить каталог со всеми содержащимися в нем файлами
и/или подкаталогами. В MS DOS, начиная с версии 6.0, для этого можно
использовать программу DelTree. deltree имя-файла-пли-каталога (JY) Как видно из приведенного формата, программа Deltree может удалять как
каталоги, так и файлы. В имени-файла-или-каталога можно использовать
символы * и ?, так что возможно удаление сразу нескольких подкаталогов.
Программа Deltree выдает запросы на подтверждение удаления каждого под-
ходящего каталога (со всем содержимым) и файла. Но при указании парамет-
ра /Y удаление будет производиться без каких-либо запросов. Примеры deltree temp deltree /у temp
deltree /у disk* удаление подкаталога (со всем содержимым) или файла с именем
temp в текущем каталоге: то же, но при удалении не запрашивается подтверждения:
удаление в текущем каталоге подкаталогов (со всем содержимым) и
файлов, имя которых начинается с "DISK" и не имеет расширения.
При удалении не запрашивается подтверждений. Часть 4. Основы работы в среде MS DOS 18.7. Переименование каталога Формат команды Примеры Для переименования каталога может быть использована входящая в MS DOS
(начиная с версии 6.0) программа Move. move имя-каталога новое-имя-каталога У старого имени каталога можно указать диск и путь, это позволяет переиме-
новывать не только подкаталоги текущего каталога, но и другие каталоги. move win win.310 Ч переименование подкаталога WIN текущего каталога с присвоением ему имени WIN. 310 , move a:\temp tmp Ч переименование подкаталога TEMP корневого каталога диска А: с присвоением ему имени TMP . (Замечание. Программа Move может также переименовывать файлы и перемещать файлы в
другой каталог. 18.8. Установка списка каталогов
для поиска выполняемых программ Формат команды Пример Для того чтобы наиболее часто выполняемые программы можно было выпол-
нять из любого каталога, следует записать эти программы в один или не-
сколько каталогов и перечислить их в команде Path. Как правило, установка с
помощью команды Path списка каталогов, в которых производится поиск вы-
полняемых программ, делается в командном файле AUTOEXEC.BAT, который
автоматически запускается при каждой перезагрузке DOS. path имя-каталога (; имя-каталога^... Ч установка списка каталогов, в ко-
торых производится поиск программ; path ; Ч устанавливает, что поиск программ должен вестись только в теку-
щем каталоге; path без параметров Ч выводит имена каталогов, в которых производится по-
иск программ. После ввода любой команды (кроме внутренних команд DOS), поиск соответ-
ствующей программы производится сначала в текущем каталоге, а затем в ка-
талогах, указанных в команде Path. Просмотр каталогов, заданных в команде
Path, производится в том же порядке, в котором они указаны в команде. Path C:\EXE;C:\EXE\MSDOS;D:\TP;D:\TC;D:\WORD Замечание. Имена каталогов в команде Path рекомендуется указывать полностью, т.е. они
должны начинаться с имени дисковода и символа "\", например C:\USER\WORK. Это
позволит командному процессору DOS правильно находить эти каталоги независимо от
того, какой каталог и дисковод являются текущими. 18.9. Наглядный переход из каталога в каталог Назначение
программы NCD Формат команды С помощью программы NCD из комплекса Norton Utilities можно выполнить
следующие функции: Х вывести на экран изображение дерева каталогов на диске; Х указать на нем, в какой каталог надо перейти; Х перейти в другой каталог, указав только часть его имени. ncd {режимы) Ч диалоговый режим работы;
ncd начало-имени-каталога {режимы) Ч переход в указанный каталог. Поимеоы " "^ Ч запуск программы в диалоговом режиме;
!;! ncd prog Ч переход в каталог, имя которого начинается с символов PROG . Выполнение Если в команде указано начало имени каталога, то программа переходит в
программы каталог на диске, имя которого начинается с указанных символов. Например,
для перехода в каталог \COREL50\PROGRAMS\DATA можно ввести команду ncd
dat . Если программа перешла в другой каталог, имя которого начинается с
тех же букв, можно ввести команду еще раз. Работа в диалоговом Если же в команде не указано имени каталога, то после ввода команды на эк-
режиме ран будет выведено дерево каталогов на текущем диске (рис. 18.2). Клавиша-
ми перемещения курсора можно выделить тот каталог, в который Вы хотите
перейти. Вы можете также ввести первые символы имени каталога с клавиа-
туры. Программа выделит каталог, как только Вы введете достаточное количе-
ство букв его имени. Чтобы выделить следующий каталог, имя которого начи-
нается с тех же букв, нажмите ( Ct rl ) (Enter). и_________________________________Norton Change Directory_____________________________________ \ ЧjЧRECYCLEDЧNPROTECT f
ЧVFЧ1ЧCDRЧCOVERT f -CONANЧ1ЧDOC_DIST f \ЧOLD ";
__________________ L TRAN ^ -DOCЧ1ЧDOG ^ -KVAR ^ -LINEDRAW ^ -PAPERSЧLATEX ^ -PLATEZ ^
L- NALOQ . f. -EVA ;::
ЧHPЧ1ЧDOSFONT ^
ЧGETFONT ^
ЧGFЧURO ^
ЧPRDRIV ;!:!
-SELFONT .1.1
т т " ..1. F;\VP\DEMO Volume label: DISK_F
РИС. 18.2. Дерево каталогов на диске, выводимое программой NCD Для того чтобы выйти из программы с переходом в другой каталог, надо выде-
лить этот каталог и нажать (Enter). Можно также дважды щелкнуть имя ка-
талога мышью. А для выхода из программы NCD без изменения текущего ка-
талога нажмите (EscT). \ Замечание. Программа NCD выделяет на экране исходный каталог (тот, который был те-
1 кущим при вызове программы) желтым цветом. Прочие При работе с программой NCD в диалоговом режиме можно также: Х нажав (F7), создать подкаталог (его имя запрашивается); Х нажав (F8), удалить каталог (этот каталог должен быть пуст); Х нажав ГР(П, переименовать каталог; Х нажав (F2), считать информацию о каталогах с диска; Х нажав ГрТ), перейти к просмотру дерева каталогов на другом диске; Х нажав (14), перейти к просмотру списка файлов в выделенном каталоге; Х нажав ГАГпГр], напечатать или вывести в файл изображение дерева ката-
логов на диске; Х нажав [Ctrl )(У). установить метку на диске. Все эти возможности доступны также через меню программы NCD. Для входа
в меню нажмите клавишу ГАТТ), для выхода из меню используется клавиша
Qisc). c^ При первом чтении Вы можете остаток этой главы пропустить. Файл TREEINFO.NCD.
режимы /R и /N т Примеры Как правило, программа NCD для вывода дерева каталога на диске не просматривает
все каталоги на диске, а получает необходимую информацию из файла
TREEINFO.NCD, который находится в корневом каталоге диска. Это значительно ус-
коряет вывод сведений о каталогах, ведь просмотр дерева каталогов на большом или
медленном диске может занять значительное время. При создании, удалении и пере-
именовании каталогов средствами программы NCD или Norton Commander все сведе-
ния об этих изменениях будут заноситься в файл TREEINFO.NCD. Однако при созда-
нии, удалении и переименовании каталогов средствами DOS или других программ
файл TREEINFO.NCD обновляться не будет, и содержащиеся в нем сведения о катало-
гах на диске могут оказаться неправильными. Правда, программа NCD иногда может
обнаружить это, например, если текущий (в момент вызова программы) каталог отсут-
ствует в файле TREEINFO.NCD. В этом случае программа NCD просмотрит все ката-
логи диска. Но иногда это необходимо сделать принудительно, вызвав программу NCD
с параметром /R. Как правило, считанная с диска информация о каталогах сохраняется в файле TREE-
INFO.NCD в корневом каталоге, кроме тех случаях, когда диск защищен от записи.
Однако Вы можете запретить обновлять файл TREEINFO.NCD, указав параметр /N. ncd /r Ч запуск программы в диалоговом режиме, при этом сведения о каталогах получа-
ются просмотром всех каталогов на диске, а не из файла TREENFO.NCD: ncd prog /r Ч переход в каталог, имя которого начинается с символов PROG, при этом све-
дения о каталогах получаются просмотром всех каталогов на диске, а не из файла
TREENFO.NCD. Замечание. Полезно перед командой ncd /r выдать команду OS NE \/S (см. п. 18.10 ни-
же), так как при этом дерево каталогов на экране будет упорядочено по алфавиту. ГП 18.10. Сортировка элементов каталогов Формат команды Примеры \ 1.'
^ При выводе на экран дерева каталогов диска (программами NCD, Norton
Commander, PCTools и т.д.) это дерево выводится неупорядоченным, что ме-
шает работе с ним. Для сортировки дерева каталогов по алфавиту, а также
для сортировки имен файлов в каталоге можно использовать программу DS из
комплекса Norton Utilities. ds пе ^имя-каталога^ C/s) Программа DS сортирует указанный каталог, т.е. располагает его элементы по
алфавиту. Если каталог не задан, то сортируется текущий каталог. Если ука-
зан параметр /S, то сортируются также и все подкаталоги. Режим NE означает
сортировку по имени файла и расширению (другие режимы указаны в спра-
вочном описании программы DS). После сортировки каталога команда Dir будет выдавать его оглавление ката-
лога упорядоченным по алфавиту. После выполнения команды ds пе \ /s про-
граммы NCD, PCTools и другие будут выводить на экран дерево каталогов
диска, упорядоченное по алфавиту. ds пе с:\ /s Ч сортировка по имени и расширению каталогов диска С:;
ds пе Ч сортировка по имени и расширению текущего каталога. Предупреждение. Для обработки дисков с длинными именами, созданными Windows 95
или Windows NT, программу DS применять не следует. Эта программа не понимает длин-
ные имена, так что ее использование приведет к потере длинных имен.
|