Фигурнов В.Э. IBM PC для пользователя. Книга содержит подробное и доступное для начинающих описание возмож
Скачать 5.4 Mb.
|
Глава 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" ("Нельзя создать каталог"). |