Справочник параметров командной строки

и гг должны быть разделены


Значения параметров мм, дд и гг должны быть разделены точкой (.), знаком переноса (-) или косой чертой (/).
Параметр мм может принимать значения от 1 до 12.
Параметр дд может принимать значения от 1 до 31.
Параметр гг может принимать значения от 80 до 99 или от 1980 до 2099.
Система WindowsXP автоматически изменяет текущие месяц и год в зависимости от количества дней в месяце (28, 29, 30 или 31 день).


Использование команд подсистемы MS-DOS
Команда debug — это команда подсистемы MS-DOS, которая выполняется в среде WOW/NTVDM.
Разделитель параметров команды
Параметры можно вводить через запятые или пробелы, но это требуется только для шестнадцатеричных значений. Например, следующие команды эквивалентны:

dcs:100 110
d cs:100 110


d,cs:100,110

Использование команд debug
Существует несколько команд debug, которыми можно воспользоваться.


Задание правильных записей адреса
Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр можно пропустить. По умолчанию для команд debug a, g, l, t, u и w адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Примеры правильных адресов:

CS:0100
04BA:0100

  • Задание мнемоник префикса
    Задайте мнемонику префикса инструкции перед кодом операции (т. е. opcode), к которой она относится. Команда a создает исполняемый машинный код из инструкций на языке ассемблера. Все числовые значения должны быть представлены в шестнадцатеричном формате и записаны как набор от 1 до 4 символов.
    Использование мнемоник
    Мнемоники cs:, ds:, es: и ss:. Мнемоникой, вызывающей возврат управления в другой сегмент кода (far return), является retf. Мнемоники для работы со строками должны точно определять размер элементов строк. Например, для перемещения строк из слов (16 бит) следует использовать movsw, а для перемещения строк из байтов (8 бит) следует использовать movsb.
    Задание переходов и вызовы функций
    Ассемблер автоматически обрабатывает переходы и вызовы (т. е. префиксы short, near или far ) в зависимости от смещения байтов. Имеется возможность переопределить переходы или вызовы с помощью префиксов near или far. Например:
    -a0100:0500
    0100:0500 jmp 502 ; короткий (short) переход на 2 байта
    0100:0502 jmp near 505 ; ближний (near) переход на 3 байта
    0100:0505 jmp far 50a ; длинный (far) переход на 5 байтов
    Вместо префикса near можно использовать сокращение ne.
    Задание адреса слова или байта в памяти
    Если операнды ссылаются на адреса слов или байтов в памяти, тип данных должен быть задан с использованием префикса word ptr или byte ptr, которые можно сократить до wo для word ptr и до by для byte ptr. Например:


    Задание правильных записей диапазона
    Параметр диапазон используется в командах debug для задания диапазона памяти. Для задания диапазона можно использовать один из следующих форматов: начальный и конечный адрес или начальный адрес и длина (разделяются символом l) диапазона. Например, обе следующих команды задают 16-разрядный диапазон, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10

    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для команд debug a, g, l, t, u и w адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Если параметры диапазон и адрес совпадают, команда c ничего не выводит и возвращается к приглашению debug. Если при сравнении блоков памяти обнаружены различия, они выводятся командой c в следующем виде:
    адрес1 байт1 байт2 адрес2


    Задание правильных записей диапазона
    Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10

    Если используется подкоманда d, содержимое памяти выводится командой Debug.exe двумя частями: шестнадцатеричной (каждый байт представлен в шестнадцатеричном формате) и текстовой (каждый байт представлен символом ASCII). Непечатаемые символы отображаются точкой (.) в текстовой части. Каждая строка на экране представляет содержимое 16 байт со знаком тире между восьмым и девятым байтом. Все строки начинаются на 16-ти байтной границе.



  • Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Использование параметра адрес
    При задании параметра адрес без указания параметра список Debug.exe выведет на экран адрес и его содержимое, затем повторит адрес на следующей строке и будет ждать ввода новой команды. В этот момент можно выполнить одно из следующих действий.

  • Заменить байт данных. Для этого введите новое значение. Если введенное значение не является допустимым шестнадцатеричным числом или содержит более двух цифр, Debug.exe не выводит на экран неверные или избыточные символы.

  • Перейти к следующему байту. Для этого нажмите клавишу ПРОБЕЛ. Для изменения данного байта введите новое значение после текущего. Если при нажатии клавиши ПРОБЕЛ пройдена 8-байтная граница, Debug.exe выводит на экран новую строку с новым адресом в начале строки.

  • Возвратиться к предыдущему байту. Для этого нажмите клавишу МИНУС. Для перемещения назад более чем на один байт нажмите эту клавишу несколько раз. При нажатии клавиши МИНУС Debug.exe выводит новую строку с текущим адресом и значением.

  • Остановить выполнение подкоманды e. Для этого нажмите клавишу ENTER. Это можно сделать в любой позиции курсора.

  • Использование параметра список
    Если введен параметр список, подкоманда e последовательно заменяет существующие значения значениями из списка. При возникновении ошибки никакие значения не будут изменены.
    Список может быть задан как шестнадцатеричными числами, так и строкой. При этом числа разделяются пробелами, запятыми или символами табуляции. Строки необходимо заключать в апострофы (т. е. 'строка') или кавычки (т. е. "строка").
  • Создание двоичного кода
  • Просмотр содержимого области памяти


    Задание правильных записей диапазона
    Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10

  • Задание данных
    Данные можно задать в шестнадцатеричном или текстовом формате. Данные, ранее находившиеся по данному адресу, будут удалены.
  • Использование параметра список
    Список может состоять из шестнадцатеричных чисел или строки, заключенной в кавычки (т. е. "строка").


    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Использование параметра адрес
    Введите знак равенства (=) перед параметром адрес, чтобы отличить адрес от адресов точек останова (точки_останова).
    Задание точек останова
    Выполнение программы будет остановлено в первой встретившейся точке останова, независимо от расположения этой точки останова в списке параметра точки_останова. Debug.exe заменяет код, находящийся в точках останова, на инструкции прерывания.
    Когда выполнение программы дошло до точки останова, Debug.exe восстанавливает код в точках останова и выводит на экран содержимое всех регистров, все флаги состояния и деассемблированную инструкцию, которая была выполнена последней. Debug.exe выводит те же сведения, которые получают при использовании полкоманды r (регистр) и указании адреса данной точки останова.
    Если программа не остановлена ни в одной точке, Debug.exe не заменяет коды прерываний первоначальными инструкциями.
    Точки останова могут быть установлены только по адресам, содержащим первый байт кода операции 8086 (opcode). Если установлено больше 10 точек останова, выводится следующее сообщение:
    bp Error
    Использование указателя на стек, задаваемый пользователем
    Указатель на стек, задаваемый пользователем, должен быть допустимым, а емкость стека должна быть не менее 6 байт для подкоманды g. Для перехода к тестируемой программе в подкоманде g используется инструкция iret. Debug.exe устанавливает указатель на стек пользователя, помещает туда пользовательские флаги состояния, значение регистра кодового сегмента и указатель на текущую команду. (Если заданный пользователем стек неверен или имеет недостаточный объем, возможен сбой в операционной системе). Debug.exe записывает код прерывания (т. е. 0CCh) в указанные точки останова или адреса.
    Перезапуск программы
    Не перезапускайте программу при получении следующего сообщения:
    Program terminated normally
    Чтобы правильно запустить программу, перезагрузите ее с помощью подкоманд n (name) и l (load).


    Задание правильных записей диапазона
    Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10

    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Копирование данных
    Если адреса в копируемом блоке памяти заданы так, что в этот блок не записываются новые данные, то информация в этом блоке не изменяется. Если же операция копирования является перекрывающей, перекрывающиеся данные перезаписываются. (Операция копирования является перекрывающей, если два блока памяти имеют общую часть).
    Перекрывающееся копирование двух областей памяти
    Подкоманда m выполняет перекрывающее копирование без потери данных в области назначения. Содержимое адресов, которые будут перезаписаны, копируется в первую очередь. Если данные копируются из старших адресов в младшие адреса, операция копирования начинается с младшего адреса исходного блока и продолжается в направлении старшего адреса. И наоборот, если данные копируются из младших адресов в старшие, копирование начинается со старших адресов исходного блока и продолжается в направлении младшего адреса.


    Использование подкоманды n
    Подкоманду n можно использовать двумя способами. Во-первых, для задания имени файла для последующих подкоманд l (load) или w (write). Если программа Debug.exe вызвана без задания имени файла для отладки, команда n имя_файла должна быть вызвана перед использованием команды l для загрузки файла. Имя файла форматируется соответствующим образом для контрольного блока файла (FCB) по адресу CS:5C. Во-вторых, подкоманда n может использоваться для задания параметров и ключей командной строки отлаживаемого файла.
    Области памяти
    В следующей таблице перечислены четыре области памяти, которые используются командой n.

    Область памяти
    Contents
    CS:5C Блок управления файлом (FCB) для файла 1
    CS:6C Блок управления файлом (FCB) для файла 2
    CS:80 Длина строки команды n (в символах)
    CS:81 Начало строки команды n

    Первое имя файла, задаваемое командой n, размещается в блоке управления файлом по адресу CS:5C. Если задано второе имя, оно помещается в блок управления файлом по адресу CS:6C. Количество символов в командной строке команды n (кроме первого символа, n) сохраняется по адресу CS:80. Собственно командная строка n (снова без символа n) сохраняется, начиная с адреса CS:81. Эти символы могут быть любыми параметрами и разделителями, которые допустимо вводить с командной строки в Windows2000.


    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Использование параметра адрес
    Если в параметре адрес не указан сегмент, Debug.exe использует регистр CS тестируемой программы. Если параметр адрес опущен, выполнение программы начинается с адреса, указываемого регистрами CS:IP. Чтобы отличить параметр адрес от параметра число, перед адресом обязательно должен быть введен знак равенства (=). В случае если инструкция по заданному адресу не является циклом, строковой инструкцией, программным прерыванием или процедурой, подкоманда p работает также, как подкоманда t (trace).
    Передача управления тестируемой программе
    Если в программе Debug.exe управление передано тестируемой программе с помощью команды p, выполнение продолжается до тех пор, пока цикл, строковая инструкция, программное прерывание или процедура не будут закончены или пока не будет выполнено заданное количество инструкций. Затем управление возвращается к Debug.exe.
    Просмотр сообщений
    После запуска подкоманды p Debug.exe выводит на экран содержимое регистров, флаги состояния и следующую инструкцию в деассемблированном виде.
    Предупреждение!

    • Подкоманда p не может быть использована для отладки инструкций, содержащихся в ПЗУ.



    Использование подкоманды r
    Если задан регистр, Debug. exe выводит на экран его 16-разрядное значение в шестнадцатеричном формате и двоеточие в качестве приглашения. Если требуется изменить значение содержащееся в регистре, введите новое значение и нажмите клавишу ENTER. В противном случае нажмите клавишу ENTER для возврата к приглашению программы debug.
    Допустимые регистры x86
    В следующей таблице перечислены допустимые регистры x86 для параметра регистр.

    Значение
    ax
    bp
    bx
    cs
    cx
    di
    ds
    dx
    es
    f
    ip
    pc
    si
    sp
    ss

    Если задан недопустимый регистр, выводится следующее сообщение:
    Ошибка: br
    Использование f вместо регистра
    Если указать f вместо регистра, Debug.exe выводит на экран текущее значение каждого флага состояния в виде двухбуквенного кода и приглашение debug. Для изменения значения флага введите соответствующий двухбуквенный код, воспользовавшись следующей таблицей.

    Флаг
    Установлен
    Снят
    Переполнение ov nv
    Направление dn (уменьшение) up (увеличение)
    Прерывание ei (включено) di (выключено)
    Знак ng (отрицательный) pl (положительный)
    Ноль zr nz
    Добавочный перенос ac na
    Четность pe (четный) po (нечетный)
    Перенос cy nc

    Новые значения флагов могут быть введены в любой последовательности. Между этими значениями не нужно вводить пробел. Чтобы завершить выполнение подкоманды r, нажмите клавишу ENTER. Флаги, новые значения для которых не вводились, останутся неизмененными.
    Сообщения подкоманды r
    При задании более одного значения для флага выводится следующее сообщение:
    Ошибка: df
    При вводе кода, не содержащегося в таблице, выводится следующее сообщение:
    Ошибка: bf
    В обоих случаях Debug.exe пропустит все значения, следующие после неверного ввода.
    Значения, используемые по умолчанию в программе Debug.exe
    Когда запускается программа Debug.exe, сегментный регистр указывает на нижнюю границу свободной памяти, указатель инструкций устанавливается равным 0100h, все флаги состояния очищаются, оставшиеся регистры обнуляются, за исключением sp, который устанавливается равным FFEEh.


    Задание правильных записей диапазона
    Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10

  • Использование параметра список
    Если используется параметр список, отделяйте значение каждого байта пробелом или запятой, а строки заключайте в кавычки (т. е. "строка"). Если список содержит несколько значений, выводится только первый адрес, в котором встречается данное значение. Если список содержит только одно значение, выводятся все адреса из указанного диапазона, в которых встречается данное значение.


    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

    Трассировка инструкций, записанных в ПЗУ
    Подкоманда t использует аппаратный режим трассировки микропроцессоров 8086 и 8088. Следовательно, также можно трассировать инструкции, хранимые в ПЗУ.


    Задание правильных записей диапазона
    Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

    cs:100 10f
    cs:100 l 10


  • Для записи количества байт, заданного в регистрах BX:CX, в файл на диске используется следующий синтаксис команды:
    w [адрес]
  • Для пропуска файловой системы и прямой записи указанных секторов используется следующий синтаксис команды:
    w [адрес] [диск] [первый_сектор] [число]
    Задание правильных записей адреса
    Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. По умолчанию для подкоманд a, g, l, t, u и w команды debug адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Следующие адреса являются допустимыми:

    CS:0100
    04BA:0100

  • Имя файла на диске нужно задать при запуске программы Debug.exe или в последней вызванной подкоманде n (name). Оба эти метода правильно форматируют имя файла для блока управления файлом (FCB) по адресу CS:5C.

  • Сброс значений регистров BX:CX перед использованием команды w без параметров.
    Если используются подкоманды g (go), t (trace), p (proceed) или r (register), перед использованием команды w без параметров значения регистров BX:CX необходимо сбросить.
    Запись измененного файла на диск
    Если файл был изменен, но имя, размер и начальный адрес не менялись, Debug.exe позволяет записать файл в его исходное расположение на диске.
    Запись файлов .exe или .hex
    Файлы с расширениями .exe и .hex нельзя записать с помощью этой команды.
    Предупреждение!

      Непосредственная запись в сектор диска является исключительно опасной, так как в этом случае не выполняется дескриптор файла WindowsXP. Логическая структура диска может быть повреждена при вводе неверного значения.


      Система WindowsXP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).
      Если запрашиваемое количество страниц доступно, Debug.exe выводит сообщение о шестнадцатеричном номере созданного дескриптора. В противном случае выводится сообщение об ошибке.


      Система WindowsXP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).


    • Система Windows XP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).



    • Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).
      Результаты программы Debug.exe выводятся в следующем формате:
      Для дескриптора xx выделено xx страниц
      Физическая страница xx = Сегмент EMS xx
      Выделено xx из xx страниц EMS
      Выделено xx из xx дескрипторов EMS


    • Для полной и правильной дефрагментации с помощью команды defrag том должен иметь не менее 15% свободного пространства. Defrag использует этот объем как область для сортировки фрагментов файлов. Если объем составляет менее 15% свободного пространства, то команда defrag выполнит только частичную дефрагментацию. Чтобы освободить дополнительное место на диске, удалите ненужные файлы или переместите их на другой диск.

    • Тома, которые, возможно, повреждены, помечаются файловой системой как «грязные»; дефрагментация таких томов невозможна. Чтобы дефрагментировать «грязный» том, для него необходимо выполнить команду chkdsk. Определить, является ли том «грязным», можно с помощью команды fsutil dirty query.

    • В ходе анализа и дефрагментации тома в программе defrag отображается мигающий курсор. По завершении анализа и дефрагментации тома программа defrag выводит отчет об анализе, отчет о дефрагментации или оба этих отчета, после чего окно командной строки закрывается.

    • По умолчанию программа defrag выводит сводку обоих отчетов (об анализе и о дефрагментации), если не был введен параметр /a или /v.

    • Чтобы экспортировать отчеты в текстовый файл, введите параметр >имя_файла.txt, где имя_файла.txt — имя файла, задаваемое пользователем. Например:

    • defrag том /v >имя_файла.txt
    • Чтобы прервать процесс дефрагментации, нажмите клавиши CTRL+C в окне командной строки.

    • Ввод команды defrag и запуск программы «Дефрагментация диска» являются взаимно исключающими действиями. Если программа «Дефрагментация диска» используется для дефрагментации тома, а пользователь запускает команду defrag из командной строки, то команда defrag не выполняется. И наоборот, если команда defrag выполняется из командной строки, а пользователь открывает программу «Дефрагментация диска», то параметры дефрагментации в окне этой программы являются недоступными.



    • Использование /p
      Если задан параметр /p, команда del выводит на экран имя каждого удаляемого файла и следующее сообщение:
      имя_файла, Удалить [Y(да)/N(нет)]?
      Для подтверждения удаления следует нажать клавишу Y, для отмены удаления и перехода к следующему файлу следует нажать N (если задана группа файлов) или CRTL+C для остановки работы команды del.
      Отключение расширений командного процессора
      Если расширения командного процессора отключены, параметр командной строки /s выводит все ненайденные, а не удаленные файлы (т. е. имеет противоположный смысл).
      Удаление нескольких файлов
      Все файлы в каталоге могут быть удалены с помощью команды del с параметрами [диск:]путь. Например, следующая команда позволяет удалить все файлы в папке \Work:
      del \work
      Кроме того, для удаления нескольких файлов можно воспользоваться подстановочными знаками (* и ?). При использовании символов подстановки в команде del следует быть особенно внимательным во избежание нежелательных удалений. Например, можно ввести следующую команду:
      del *.*
      Команда del выводит следующий запрос:
      Все файлы в каталоге будут удалены. Продолжать [Y(да)/N(нет)]?
      Для удаления всех файлов в текущей папке следует нажать Y и ENTER, для отмены удаления— N и ENTER.
      Перед использованием команды del для удаления группы файлов, заданной с помощью символов подстановки, полезно вначале вызвать команду dir с теми же самыми символами для вывода списка файлов, которые будут удалены.
      Предупреждение!

      После удаления файлов с диска с помощью команды del, их, возможно, уже не удастся восстановить.

    Команда del с другими параметрами доступна в консоли восстановления.


    Для загрузки драйверов, необходимых подсистеме MS-DOS, следует использовать файл системный_корневой_каталог\System32\Config.nt или эквивалентный загрузочный файл, заданный в файле описания программы (.PIF).


    Использование команды dos=umb
    Для использования команды devicehigh необходимо включить команду dos=umb в файл Config.nt или эквивалентный загрузочный файл. Если это условие не выполнено, все драйверы устройств будут загружаться в обычную память, как при использовании команды device.
    Установка драйвера Himem.sys
    Перед загрузкой драйверов устройств в верхнюю память с помощью команды device необходимо загрузить драйвер Himem.sys. Это нужно сделать перед использованием какой-либо команды devicehigh в файле Config.nt или эквивалентном загрузочном файле.
    Ограничение размера
    Если указанный драйвер устройства попытается выделить блок верхней памяти, превышающий доступный размер, система может зависнуть. Чтобы избежать этого, используйте параметр размер. Параметр размер указывает количество памяти (в шестнадцатеричном формате), необходимое для данного драйвера. Чтобы узнать данную величину для определенного драйвера устройства, загрузите этот драйвер в обычную память и запустите команду mem /debug.
    Загрузка в обычную память
    Если нет достаточного объема верхней памяти для загрузки драйвера устройства с помощью команды devicehigh, подсистема MS-DOS загрузит драйвер в обычную память (как при вызове команды device).


    Использование нескольких имен_файлов
    Допускается использование нескольких имен_файлов. Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла.
    Использование подстановочных знаков
    Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).
    Задание атрибутов файлов для вывода
    Если параметр /a используется более чем с одним значением параметра атрибуты, команда dir выведет имена только тех файлов, все атрибуты которых совпадают с заданными. Например, при использовании параметра /a со значениями атрибутов r и -h в формате /a:r-h или /ar-h команда dir выведет имена файлов, являющихся одновременно скрытыми и защищенными от записи.
    Указание порядка сортировки имен файлов
    Если указано несколько значений порядка_сортировки, команда dir сортирует имена файлов сначала по первому условию, затем — по второму и т. д. Например, если указан ключ /o со значениями e и -s порядка_сортировки в формате /o:e-s или /oe-s, команда dir отсортирует имена каталогов и файлов по расширениям, затем от больших файлов к меньшим и выведет окончательный результат. В результате сортировки по алфавиту файлы без расширений будут идти вначале, затем имена каталогов, а потом имена файлов с расширениями.
    Использование перенаправления и каналов
    Чтобы перенаправить вывод команды dir в файл с помощью символа (>) или использовать канал (|) для передачи вывода в другую команду, необходимо использовать параметры команды dir /a:-d и /b для вывода только списка имен файлов. Параметр имя_файла с параметрами /b и /s можно использовать, чтобы указать поиск командой dir в текущем каталоге и его подкаталогах всех файлов, соответствующих значению имя_файла. При этом команда dir выведет только имя диска, имя каталога, имя файла и расширение по одному файлу в строке. Чтобы использовать перенаправление с помощью каналов, в файле Autoexec.nt должна быть установлена переменная среды TEMP.


  • Использование дисков
    Команда diskcomp работает только с гибкими дисками. Команду diskcomp нельзя использовать для жестких дисков. Если жесткий диск задан в качестве параметра диск1 или диск2, diskcomp выведет на экран следующее сообщение:
    Диск задан неправильно.
    Указанный диск не существует
    либо является несъемным
  • Сравнение дисков
    Если все дорожки на сравниваемых дисках совпадают, команда diskcomp выводит следующее сообщение:
    Различия не найдены.
    Если обнаружены несовпадающие дорожки, команда diskcomp выведет на экран следующее сообщение:
    Ошибка сравнения:
    сторона 1, дорожка 2
    После окончания сравнения команда diskcomp выведет следующее сообщение:
    Сравнить еще диск [Y(да)/N(нет)]?
    При нажатии клавиши Y программа diskcomp выведет приглашение вставить следующий гибкий диск в дисковод для повторения операции. При нажатии клавиши N работа команды diskcomp завершается.
    В процессе сравнения не учитываются номера томов гибких дисков командой diskcomp.
  • Пропуск параметров
    Если опущен параметр диск2, команда diskcomp использует текущий диск в качестве параметра диск2. Если не заданы оба параметра, diskcomp использует текущий дисковод для обоих дисков. Если текущий диск совпадает с параметром диск1, команда diskcomp выведет приглашение сменить диски по мере необходимости.
  • Использование одного дисковода
    Если один и тот же диск задан в качестве параметров диск1 и диск2, команда diskcomp будет работать с использованием одного дисковода и запрашивать смену дисков, когда потребуется. Возможно, менять диски местами придется несколько раз, в зависимости от емкости дисковода и объема доступной памяти.
  • Сравнение дисков разного типа
    С помощью команды diskcomp невозможно сравнивать односторонние диски с двухсторонними, также как и диски двойной плотности с дисками высокой плотности. Если типы дисков диск1 и диск2 отличаются друг от друга, команда diskcomp выведет на экран следующее сообщение:
    Несовместимые форматы дисководов или дисков.
  • Использование diskcomp для сравнения сетевых и виртуальных дисков


  • Использование дисков
    Команда diskcopy работает только со съемными дисками, такими как гибкие диски. Команда diskcopy не может быть использована с жесткими дисками. Если жесткий диск задан в качестве параметра диск1 или диск2, diskcopy выведет на экран следующее сообщение:
    Диск задан неправильно.
    Указанный диск не существует
    либо является несъемным
    Команда diskcopy выведет приглашение вставить в дисководы исходный и конечный диски и нажать любую клавишу для продолжения.
    После завершения копирования diskcopy выведет на экран следующее сообщение:
    Копировать еще диск [Y(да)/N(нет)]?
    При нажатии клавиши Y команда diskcopy выведет приглашение вставить исходный и конечные диски для следующей операции копирования. Для окончания работы команды diskcopy следует нажать N.
    Если diskcopy копирует на неформатированный диск в дисководе, заданном параметром диск2, этот диск будет отформатирован так же, как диск1, с тем же количеством сторон и плотностью. При этом diskcopy выведет на экран сообщение:
    Форматирование в процессе копирования.
  • Серийные номера дисков
    Если диск-источник имеет серийный номер тома, программа diskcopy создаст новую серийную метку тома на диске-результате после завершения процесса копирования.
  • Пропуск параметров
    Если опущен параметр диск2, команда diskcopy будет использовать текущий диск. Если не заданы оба параметра, diskcopy использует текущий дисковод для обоих дисков. Если текущий диск совпадает с параметром диск1, команда diskcopy будет запрашивать смену дисков по мере необходимости.
  • Использование одного дисковода для копирования
    Если параметры диск1 и диск2 совпадают, программа diskcopy выведет приглашение поменять диски. Если не заданы оба параметра диск и текущий диск является дисководом гибкого диска, программа diskcopy будет запрашивать подтверждения каждый раз, когда будет требоваться смена диска. Если на диске содержится больше информации, чем объем доступной памяти, команда diskcopy не сможет выполнить копирование за один проход. Команда diskcopy читает исходный диск, записывает сведения на диск-результат, а затем снова приглашает сменить диск. Этот процесс будет продолжаться до тех пор, пока вся информация не будет скопирована.


    Установка драйвера Himem.sys для команд dos=umb или dos=high
    Перед использованием параметров dos=umb и dos= high должен быть установлен драйвер Himem.sys.
    Использование параметра umb
    Для загрузки программ и драйверов устройств в область верхней памяти необходимо указать команду dos=umb. Это позволит высвободить дополнительное свободное пространство в обычной памяти для других программ. Кроме того, необходимо установить драйвер доступа к блоку верхней памяти (UMB).
    Использование параметра high
    Если задан параметр high, подсистема MS-DOS попытается загрузить часть самой себя в область верхней памяти (HMA). Загрузка части MS-DOS в область HMA освобождает больше обычной памяти для работы программ.
    Сочетание параметров
    Если задан параметр high, подсистема MS-DOS попытается загрузить часть самой себя в область верхней памяти (HMA). Загрузка части MS-DOS в область HMA позволяет высвободить обычную память для работы программ.
    В одной команде dos можно использовать несколько параметров, разделяя их запятыми. Например, следующие команды являются допустимыми:
    dos=umb,low
    dos=high,umb
    Команду dos можно указать в любом месте файла Config.nt или эквивалентного загрузочного файла.


    Использование Doskey.exe
    Программа Doskey. exe всегда доступна всем интерактивным программам, работающим в символьном режиме (таких как отладчики или программы копирования). Она поддерживает буфер выполнявшихся команд и макросы для каждой запущенной программы. Параметры командной строки doskey нельзя вызвать в программе. Эти параметры необходимо выполнить до запуска программы. Назначения комбинаций клавиш, сделанные в какой-либо программе, имеют приоритет перед назначениями команды doskey.
    Повторный вызов команд
    Для повторного вызова команды можно использовать любую из нижеперечисленных клавиш. Если Doskey.exe используется в программе, клавиши, назначенные в этой программе, имеют приоритет.

    Клавиша
    Описание
    СТРЕЛКА ВВЕРХ Перемещение на одну команду назад в буфере команд.
    DOWN ARROW Перемещение на одну команду вперед в буфере команд.
    PAGE UP Перемещение в начало буфера команд.
    PAGE DOWN Перемещение в конец буфера команд.

    Редактирование командных строк
    С помощью программы Doskey.exe можно редактировать текущую командную строку. Если Doskey.exe используется в другой программе, клавиши, заданные в этой программе, будут иметь приоритет, возможно не все клавиши редактирования Doskey.exe будут работать.
    В следующей таблице перечислены команды редактирования doskey.

    Клавиша или сочетание клавиш
    Описание
    СТРЕЛКА ВЛЕВО Перемещение курсора на один символ назад.
    СТРЕЛКА ВПРАВО Перемещение курсора на один символ вперед.
    CTRL + СТРЕЛКА ВЛЕВО Перемещение курсора на одно слово назад.
    CTRL + СТРЕЛКА ВПРАВО Перемещение курсора на одно слово вперед.
    HOME Перемещение курсора в начало строки.
    END Перемещение курсора в конец строки.
    ESC Удаление всех символов командной строки.
    F1 Копирование одного символа из шаблона в ту же позицию в окне командной строки. (Шаблоном является буфер памяти, в котором содержится последняя выполнявшаяся команда.)
    F2 Поиск в шаблоне символа, введенного после нажатия F2. Программа Doskey.exe вставит текст из шаблона до символа, который был задан.
    F3 Копирование оставшейся части шаблона в командную строку. Doskey.exe начинает копирование с позиции в шаблоне, которая соответствует позиции курсора в командной строке.
    F4 Удаление символов с текущей позиции курсора до указанного символа. Чтобы использовать эту клавишу редактирования, нажмите F4 и введите символ. Doskey.exe удалит текст от текущей позиции до первого появления заданного символа.
    F5 Копирование шаблона в командную строку.
    F6 Вставка символа конца файла (CTRL+Z) в текущую позицию курсора.
    F7 Вывод всех команд, сохраненных в памяти. Используйте клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ для выбора требуемой команды и клавишу ENTER для выполнения команды. Кроме того, номер данной команды, который выводится справа от текста команды, может быть использован с клавишей F9.
    ALT+F7 Удаление всех команд, сохраненных в памяти в текущем буфере.
    F8 Вывод всех команд из буфера команд, начинающихся с символов текущей команды.
    F9 Вывод команды, соответствующей введенному номеру в буфере команд. Для запуска команды необходимо нажать ENTER. Для вывода всех номеров и соответствующих команд используется клавиша F7.
    ALT+F10 Удаление всех макросов.
    <


  • Обычно при завершении работы приложения MS-DOS система WindowsXP возвращает управление командному интерпретатору Cmd.exe. При вызове резидентной программы (TSR) или временной остановки приложения MS-DOS для возврата к командной строке, система Windows XP запускает Command.com — командный интерпретатор MS-DOS. Это сохраняет среду MS-DOS, позволяя работать непосредственно с резидентной программой.
    Поскольку запуск других приложений из командной строки Command.com может привести к неправильной работе резидентной программы и приостановленного приложения MS-DOS, в Windows XP предусмотрена команда dosonly. Команда dosonly позволяет запускать с командной строки Command.com только исполняемые файлы MS-DOS. Команду dosonly можно поместить в файл Config.nt или в соответствующий ему специальный файл (PIF-файл) настройки приложения MS-DOS.
    Файл Config.nt используется для инициализации среды MS-DOS, если только в PIF-файле приложения не указан другой загрузочный файл.


  • Содержание раздела