Добавить в цитаты Настройки чтения

Страница 153 из 180

Такой тип ошибки может происходить, даже если дискеты идентичны. Хотя команда COPY дублирует информацию, она не обязательно помещает ее в то же место диска. Подробности сравнения отдельных файлов диска см. в описании команды FC.

Коды выхода команды DISKCOMP приведены в следующей таблице:

Код ∙ Смысл

0 ∙ Диски совпадают.

1 ∙ Обнаружены различия.

2 ∙ Пользователь прекратил процесс с помощью CTRL+C.

3 ∙ Произошла критическая ошибка.

4 ∙ Произошла ошибка инициализации.

Коды выхода (значение ERRORLEVEL) вы можете использовать в команде IF командного файла.

О сравнении файлов рассказывается в описании команды FC.

Команда DISKCOPY

Копирует все содержимое одного гибкого диска на другой гибкий диск. DISKCOPY затирает текущее содержимое целевого диска. Эта команда определяет при копировании число сторон на основе исходного дисковода и диска.

DISKCOPY [диск1: [диск2:]] [/1] [/V] [/М]

Параметр "диск1:" задает исходный диск, "диск2:" — целевой диск. /1 приводит к копированию только первой стороны дискеты. /V проверяет корректность копирования информации. Использование этого параметра замедляет процесс копирования. Параметр /М приводит к тому, что DISKCOPY использует в качестве рабочей памяти только обычную память. По умолчанию DISKCOPY использует в качестве промежуточной памяти жесткий диск, благодаря чему вам не приходится несколько раз менять дискеты. О копировании файлов рассказывается в описании команды COPY, а о копировании каталогов и подкаталогов — в описании XCOPY. О сравнении дискет для проверки их идентичности описывается в команде DISKCOMP. Команда DISKCOPY работает только со сменными дисками (дискетами). Для жесткого диска ее использовать нельзя, в противном случае она выводит сообщение об ошибке:

Invalid drive specification

Secified drive does not exist or is non-removable

(Недопустимая спецификация диска.

Заданный диск не существует или не является сменным.)

Команда DISKCOPY выводит вам подсказку для вставки исходной и целевой дискет и перед продолжением работы ждет нажатия любой клавиши. После копирования DISKCOPY выводит следующее сообщение:

Сору another diskette (Y/N)?

(Копировать другую дискету (Да/Нет)?)

При нажатии Y DISKCOPY выводит вам подсказку для вставки исходной и целевой дискет для следующей операции копирования. Чтобы завершить процесс копирования, нажмите N. Если вы копируете информацию на неформатированную дискету, DISKCOPY форматирует диск с тем же числом сторон и секторов на дорожку, что и на исходном диске (диске1). При форматировании дисков и копировании файлов DISKCOPY выводит следующее сообщение:

Formatting while copying

(Форматирование при копировании)

Если объем исходного диска превышает объем целевого, и ваш компьютер может обнаружить это различие, то DISKCOPY выводит на экран сообщение:

Drive types or diskette types not compatible

(Типы дисководов или дискет не совместимы)

Если исходный диск имеет серийный номер, DISKCOPY создает для целевого диска новый последовательный номер и выводит его при завершении операции копирования. Если вы опустите параметр целевого диска (диск2), DISKCOPY использует в качестве целевого текущий диск. Если опущены оба параметра, DISKCOPY использует текущий дисковод для исходного и целевого диска. В этом случае DISKCOPY выводит вам подсказку для смены дискет. Если объем дискет превышает объем доступной оперативной памяти, то DISKCOPY не может считать сразу всю информацию. DISKCOPY считывает данные с исходного диска, записывает их на целевой диск, и выводит вам подсказку для смены диска. Этот процесс повторяется, пока не будет скопирован весь диск. Поскольку DISKCOPY создает на целевом диске точную копию исходного, фрагментация (наличие небольших областей неиспользованного пространства между файлами) исходного диска сохраняется на целевом диске. Фрагментация исходного диска может замедлить процесс считывания, поиска или записи файлов. Чтобы избежать фрагментации, используйте для копирования команду COPY или XCOPY. Если команда DISKCOPY применяется для копирования системного диска, то копия также будет загружаемой. При использовании команды COPY или XCOPY копия обычно не является загружаемым диском. Коды выхода (параметр ERRORLEVEL) и их описания приведены в следующей таблице:

Код ∙ Смысл

0 ∙ Копирование прошло успешно.

1 ∙ Нефатальная ошибка ввода-вывода.





2 ∙ Пользователь прекратил процесс с помощью CTRL+C.

3 ∙ Произошла критическая ошибка.

4 ∙ Произошла ошибка инициализации.

Команда DOS

Определяет, что MS-DOS должна поддерживать связь со старшей памятью, частично загружаться в старшую память (НМД.) или и то, и другое. Используется только в файле CONFIG.SYS.

DOS=HIGH LOW[,UMB,NOUMB]

DOS=[HIGH, LOW,]UMB NOUMB

Параметр UMB NOUMB определяет, что MS-DOS должна поддерживать блоки старшей памяти (UMB), созданные программой поддержки UMB, такой как EMM386.EXE. Параметр UMB определяет, что MS-DOS должна по-возможности обслуживать UMB. Параметр NOUMB задает, что MS-DOS не должна обслуживать блоки UMB. По умолчанию используется параметр NOUMB.

Параметр HIGH LOW определяет, должна ли MS-DOS пытаться загружать свою часть в НМД. (HIGH) или загружать все свои компоненты в обычную память (LOW). По умолчанию устанавливается LOW.

Подробнее о загрузке драйвера устройства в старшую память рассказывается в описании команды DEVICEHIGH, а о загрузке в старшую память программ — в описании LOADHIGH.

Перед заданием DOS=UMB или DOS=HIGH вы должны установить драйвер или другой администратор расширенной памяти.

Использование для DOS областей старшей памяти освобождает обычную память для программ. При наличии процессора 80386 или 80486 в качестве программы обслуживания блоков UMB можно использовать EMM386.EXE.

Если задано DOS=UMB, а программа обслуживания UMB не установлена, то MS-DOS не будет выводить сообщение об ошибке.

Если вы задаете параметр HIGH, MS-DOS пытается загрузить свои компоненты в НМА. Если MS-DOS не может использовать НМА, то выводится сообщение:

НМА not available

Loading DOS low

(НМА не доступны, DOS загружается в младшую память)

В одной команде DOS вы можете указать более одного параметра, например, dos=high,umb

Команда DOSKEY

Загружает в память программу Doskey, которая вызывает команды MS-DOS и позволяет вам редактировать командные строки, а также создавать и запускать макрокоманды. Doskey — это резидентная в памяти программа. После установки Doskey занимает около 3 килобайт памяти.

DOSKEY [/REINSTALL] [/BUFSIZE=размер] [/MACROS]

[/HISTORY][/INSERT /OVERSTRIKE] [макроимя=[текст]]

Чтобы запустить программу Doskey с установками по умолчанию, дайте команду:

DOSKEY

Параметр макроимя=[текст] создает макрокоманду, которая выполняет одну или более команд MS-DOS (макрокоманду Doskey), "макроимя" задает имя, которое вы хотите присвоить макрокоманде, а "текст" задает записываемые команды.

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

doskey qf=format $1 /q /и

Чтобы выполнить такую макрокоманду, введите qf а:.

Параметр /REINSTALL устанавливает новую копию программы Doskey, даже если она уже установлена. В последнем случае /REINSTALL также очищает буфер.

Параметр /BUFSIZE=размер задает размер буфера, в который Doskey записывает команды и макрокоманды Doskey. По умолчанию это 512 байт. Минимальный размер буфера — 256 байт.