Фигурнов В. Э. Ф49 ibm pc для пользователя. Изд. 7-е, перераб и доп

Вид материалаКнига

Содержание


Глава 17. Работа с файлами в DOS
Часть 4. Основы работы в среде MS DOS
Глава 17. Работа с файлами в DOS
Глава 17. Работа с файлами в DOS
Подобный материал:
1   ...   21   22   23   24   25   26   27   28   ...   87
Глава 17. Работа с файлами в DOS


Если файлы полностью совпадают, то программа FC выводит сообщение


FC: no differences encounted

(FC: различий не найдено)


.^11\ч'ч.1!111'-1 1- Для сравнения в режиме /С файлов, содержащихрусские буквы, необхо-

дима правильная установка параметров страны в файле CONFlu.SYS. Так, если файл

COUNiRY.SYS находится в каталоге C:\EXE\MSDOS, то в файле CONFIG.SYS должна

быть строка COUNTRY = 007, 866, C:\EXE\MSDOS\COUNTRY.SYS.


2. В пакет программ Norton Desktop tor Windows входит более мощная и удобная программа

сравнения файлов (см. главу 48).


1 1 1 /7. 10. Смена /{ягь/ и времени модификации файлов


З^чгм .410

<1hin;)<.4 нужно


Для каждого файла соответствующая ему запись в каталоге (элемент каталога) содер-

жит не только имя файла, но также дату и время последней модификации файла. Све-

дения о дате и времени автоматически обновляются при каждом изменении файла

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

ленную дату и время их последней модификации. Это может быть полезно для сле-

дующих целей:


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

производители программного обеспечения обычно устанавливают у всех файлов

поставляемого программного продукта одну дату;


Х чтобы заставить программы резервного копирования сархивировать некоторые

файлы при архивации файлов, измененных после некоторой даты;


Х чтобы заставить программы типа MAKE перекомпилировать некоторые файлы.


Часто при установке даты и времени у файлов время указывает версию файла или

группы файлов. Например, время 03:00 обозначает третью версию.


Для установки даты и времени у файлов можно использовать программу FD из ком-

плекса Norton Utilities.


^Хt'^^.)цм.ч кчмачд1,1

Параметры


FD имя-файла ^Одата-файла^ {^время-файла^ (/S^ (/Р)

В имени файла можно употреблять символы * и ?.


^дата-файла Ч установить дату последней модификации файлов. Если после /D

дата не указана, то подразумевается текущая дата. Формат указания даты зави-

сит от кода страны, установленного в предложении Country файла CONFIG.SYS.

Если код страны Ч 007 (Россия), то формат ввода даты: день-месяц-год , на-

пример, 05-01-95 Ч 5 января 1995 г. Формат задания даты можно узнать, введя

команду FD /?;


/^время-файла Ч установить время последней модификации файлов. Если после /Т

время не указано, то подразумевается текущее время. Время задается в формате

часы:минуты, например, 22:00 . При желании можно задать и секунды, напри-

мер: 22:00:30.


/S Ч действие команды распространяется не только на указанные файлы, но и на

файлы с теми же именами из всех подкаталогов каталога, указанного в параметре

имя-файла (если он не задан, то текущего каталога);


/Р Ч при заполнении экрана программа ждет нажатия пользователем любой клавиши.


Огчбснногти ччп'1пия ^Щ параметр /Т задан, а /D Ч нет, то у файлов меняется только время, а дата остает-

ся неизменной. Если параметр /D задан, а /Т Ч нет, то у файлов меняется только дата,

а время остается неизменным. Но если отсутствуют оба параметра /D и/Т, то у файлов

устанавливаются текущие дата и время.


В ходе выполнения программа FD выводит на экран список обработанных ею файлов с

указанием установленных даты и времени. Если в команде указан параметр /Р, то при

заполнении экрана программа FD ждет нажатия пользователем любой клавиши.


ниримецмн


Вычопш'чис

iipol pnMMiii


Примеры


id *.* /dOIЧ04Ч95 /tl2:59:00 Ч установить у всех файлов из текущего каталога дату 1

апреля 1995 года и время 12 часов 59 минут (мы предполагаем, что формат ввода даты

Ч день-месяц-год);


fd c:\papers\*.doc /s Ч установить у всех файлов с расширением .DOC каталога

с: \ papers и всех его подкаталогов текущие дату и время.


Часть 4. Основы работы в среде MS DOS


З^мсчдния 1. Установка даты и времени у файлов может осуществляться также програм-

мой FileFind.


2. Программа FD не обрабатывает файлы с атрибутом "только для чтения" (a FileFind об-

рабатывает).


Что такое атрибуты

файлов


[1] /7. / / Отображение и изменение атрибутов файлов


Для каждого файла соответствующая ему запись в каталоге (элемент каталога) содер-

жит не только имя файла, дату и время последней модификации файла, но и так назы-

ваемые атрибуты файла. Для файлов предусмотрено четыре атрибута: только для

чтения (read-only), скрытый (hidden), системный (system) и архивировать (archive).

Каждый из этих атрибутов может быть либо установлен, либо нет.


Назначение этих атрибутов таково. Атрибут файла "только для чтения" предохраняет

файл от изменений: для изменения или удаления файла с этим атрибутом требуется

предварительно снять данный атрибут. Атрибуты "скрытый" и/или "системный" ис-

пользуются некоторыми системными файлами (например, основные файлы MS DOS Ч

10.SYS и MSDOS.SYS, Ч имеют оба этих атрибута). Атрибут файла "архивировать"

устанавливается при создании или модификации файла и сбрасывается программами

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


Таким образом, большинство файлов имеет установленным только атрибут

"архивировать". Остальные атрибуты ("только для чтения", "скрытый" или

"системный"), как правило, не установлены.


Зачем надо изменять В некоторых случаях атрибуты файла требуется изменить. Например, у файлов, ско-

ятпмД /T^i rhaunn пированных с компакт-диска, часто необходимо сбросить атрибут "только для чтения".

Х ^ Ц> о д атрибут "архивировать" часто требуется сбросить или установить для того, чтобы

исключить файл из процесса резервного копирования или наоборот, включить его.


Для просмотра и изменения атрибутов файлов может использоваться программа FA из

комплекса Norton Utilities.


Формат команды


Параметры


FA имя-файла ^параметры)


Здесь имя-файла указывает файлы, у которых просматриваются или изменяются ат-

рибуты. В имени-файла можно употреблять символы * и ?. Если имя файла не указа-

но, подразумевается *.* Ч все файлы текущего каталога:


Первая группа параметров относится к установке и отмене атрибутов и выбору группы

файлов, обрабатываемых программой FA.


Атрибут Найти файлы Установить атрибут Отменить атрибут

только для чтения /R /R+ /R-

системный /SYS /SYS+ /SYS-

скрытый /HID /HID+ /HID-

архивировать /А /А+ /А-

Иначе говоря, если после указания атрибута (/R, /SYS, /HID или /А) стоит знак

"+" (плюс), то у файлов надо установить данный атрибут. Если после указания атри-

бута стоит знак "-" (минус), то у файлов надо отменить данный атрибут. А если после

указания атрибута нет ни "+", ни "-", то действие команды по установке и отмене

атрибутов распространяется только на файлы, уже имеющие данный атрибут. Можно

также задать параметр /U, тогда действие команды будет распространяться только на

файлы, у которых установлен какой-либо атрибут.


Другие параметры задают прочие особенности выполнения программы FA:


/CLEAR Ч сброс всех атрибутов файлов,

/Р Ч при заполнении экрана информацией программа FA ждет нажатия любой клави-


^ Глава 17. Работа с файлами в DOS


Примеры


/S Ч действие команды распространяется также и на файлы из всех подкаталогов


указанного каталога;

/Т Ч вывод только сводной информации о файлах, имеющих указанные атрибуты.


fa с:\*.* /г /s Ч вывод информации о всех файлах на диске С:, имеющих атрибут "только


для чтения";


1а /г /hid+ Ч установка атрибута "спрятанный" у всех файлов с атрибутом "только для


чтения" из текущего каталога.


j^hii^i.iiiliti 1- Поиск файлов по атрибутам и установка атрибутов может осуществляться

также программами Filennd (см. выше) и Norton Commander (см. главу 24).


2. Диспетчер Файлов Windows и программа Explorer Ч оболочка Windows 95, Ч предос-

тавляют более удобные средства для установки атрибутов файла. Надо только выделить

файл или файлы, нажать комбинацию клавиш ГдТТЦСп^сг], и можно просмотреть и изменить

атрибуты файлов.


3. В MS DOS входит программа Attrib, которая также может устанавливать атрибуты фай-

лов. Однако возможности этой программы более скромные, чем у программы FA.


ULJ 17. 12. Копирование файлов и каталогов

с помощью программы ХСору


Преимущ(-'(^гп:1


Ограничения


Форма 1 команды


Режимы 1 ц )()i [ )пммы


Выбор копируемых

объектов


Команда Copy, предназначенная для копирования файлов, имеет существенные недос-

татки. Так, она не копирует файлы нулевой длины (а некоторые программы используют

такие файлы) и файлы из подкаталогов, а работает достаточно медленно, особенно при

копировании большого количества файлов. Поэтому в MS DOS, начиная с версии 3.20,

входит и другая программа для копирования файлов Ч ХСору.


Это программа имеет (по сравнению командой Copy) следующие преимущества:


Х программа ХСору использует всю доступную ей оперативную память, что позволяет

ей работать значительно быстрее команды Copy;


Х программа ХСору может копировать также и файлы из всех подкаталогов указан-

ного каталога и при необходимости создавать подкаталоги для размещения созда-

ваемых ею файлов;


Х программа ХСору позволяет выборочное копирование файлов в зависимости от

значения атрибута "архивировать" или даты создания или последней модификации

файла.


Однако программа ХСору поддерживает не все возможности, имеющиеся у команды

Copy:


Х ХСору не поддерживает возможность копирования с логических устройств или на

логические устройства (CON, PRN, LPTI, LPT2, СОМ1, COM2 и т.д.);


Х ХСору не позволяет добавлять один файл к другому (т.е. конкатенировать файлы):


Х ХСору копирует файлы всегда целиком, а команда Copy может прекращать копиро-

вание, когда в исходном файле встретится символ конца файла, то есть символ с

кодом 26 или "Ctrl-Z" (режим /А).


хсору имя-файла-или-каталога [имя-файла-или-каталога)... {режимы)


Если в команде ХСору указано одно имя файла или каталога, то оно обозначает копи-

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

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

ла и/или каталога, то последнее из них обозначает имя файла (имена файлов), получа-

емого (получаемых) в результате копирования, или имя каталога, в который копируют-

ся файлы. Остальные имена файлов и каталогов указывают копируемые файлы и ката-

логи. В именах файлов можно употреблять символы * и ?.


Программа ХСору имеет множество параметров, задающих режимы ее работы. Эти

параметры мы можно разделить на четыре группы.


Режимы, определяющие выбор копируемых объектов:


/S Ч копирование файлов не только из каталогов, указанных в команде, но также и из

всех их подкаталогов (как первого уровня, так и более высоких уровней). Файлы

из подкаталогов копируются в соответствующие подкаталоги того каталога, в ко-


^ Часть 4. Основы работы в среде MS DOS


торый копируются файлы. Если таких подкаталогов в каталоге, в который копиру-

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

подкаталоги не копируются;


/Е Ч (имеет смысл только вместе с режимом /S или /Т) Ч копирование всех подката-

логов, даже если они пусты;


/А Ч копирование только тех файлов, у которых установлен атрибут "архивировать";

/М Ч копирование только тех файлов, у которых установлен атрибут "архивировать";


после копирования этих файлов атрибут "архивировать" отменяется;

/0'.дата Ч копирование только тех файлов, которые были изменены в указанный день

или позднее. Формат ввода даты можно узнать, введя команду Date. Если дата не

указана, копируются только файлы, более новые, чем файлы, которые они заме-

щают (перезаписывают).


В MS DOS 7.0, входящей в состав Windows 95, программа ХСору имеет также сле-

дующие режимы:





Ч копировать также и файлы с атрибутами "скрытый" или "системный". По умол-

чанию файлы с этими атрибутами не копируются;


/Т Ч копирование только дерева каталогов, но не файлов. При этом, если не задан ре-

жим /Е, то пустые подкаталоги не копируются.


Вывод запросов Следующая группа режимов влияет на вывод запросов во время работы программы:


Режимы

копирования


/Р Ч программа ХСору для каждого файла будет спрашивать, копировать его или нет;

/W Ч в этом режиме перед копированием команда ХСору выдаст сообщение: "Press

any key when ready to start copying files" ("Нажмите любую клавишу для начала

копирования файлов"). Это позволяет вставить участвующие в копировании дис-

кеты. Данный параметр полезен при работе без жесткого диска, когда сама про-

грамма ХСору располагается на дискете, Ч он позволяет запустить с дисковода

программу ХСору, а затем вставить в дисковод другую дискету, используемую как

источник или приемник файлов;


/Y


Ч программа ХСору будет перезаписывать (замещать) имеющиеся файлы с теми же

именами без каких-либо запросов.


В MS DOS 7.0, входящей в состав Windows 95, программа ХСору имеет также сле-

дующий режим:


/1 Ч при копировании более одного файла, если последнее указанное в команде имя

файла или каталога не указывает на существующий файл или каталог, то про-

грамма ХСору не будет выводить запрос о том, что это такое: файл или каталог, а

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


Замечании. Появление параметра /1 связано с тем, что программа ХСору в некоторых слу-

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

или именем каталога. Например, команда хсору ааа bbb может означать либо создание ко-

пии файла ааа под именем bbb, либо копирование файла ааа в подкаталог bbb. Если подка-

талог bbb существует, то действие программы ХСору определено однозначно: она копирует

файл ааа в подкаталог bbb. Если же подкаталога bbb не существует, то программа ХСору не

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


Does ... specify a file name or directory name on the target (F = file D = directory)?

(Задает ли ... имя файла или имя каталога, в который нужно копировать файлы

(F = имя файла, D = имя каталога)?)


Следует ответить (F) или (О). Параметр /1 предотвращает вывод таких запросов.


В версиях MS DOS до 7.0 у программы ХСору имеется только один параметр, влияю-

щий на сам процесс копирования:


/V Ч программа ХСору будет проверять, правильно ли скопирован каждый файл.


В MS DOS 7.0, входящей в состав Windows 95, программа ХСору имеет также сле-

дующие режимы:


/U Ч режим обновления Ч программа ХСору только перезаписывает имеющиеся фай-

лы, а новые файлы не создает;


/R Ч этот параметр разрешает программе ХСору замещать файлы с атрибутом "только

для чтения";


/С Ч этот параметр предписывает программе ХСору продолжать копирование даже

при обнаружении ошибок. Задание этого параметра может быть весьма полезно,

если ошибки вызваны не физическими дефектами на диске, а ограничениями дос-

тупа (скажем, попыткой перезаписать файл с атрибутом "только для чтения");


^ Глава 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" ("Нельзя создать каталог").


^ Глава 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" ("Нельзя создать каталог").