Поделиться через


doskey

Вызывает Doskey.exe, которая вспоминает ранее введенные команды командной строки, редактирует командные строки и создает макросы.

Синтаксис

doskey [/reinstall] [/listsize=<size>] [/macros:[all | <exename>] [/history] [/insert | /overstrike] [/exename=<exename>] [/macrofile=<filename>] [<macroname>=[<text>]]

Параметры

Параметр Описание
/Переустановить Устанавливает новую копию Doskey.exe и очищает буфер журнала команд.
/listsize=<size> Указывает максимальное количество команд в буфере журнала.
/Макросы Отображает список всех макросов doskey . Можно использовать символ перенаправления (>) с /macros для перенаправления списка в файл. Вы можете сократить /макросы до /m.
/macros:all Отображает макросы doskey для всех исполняемых файлов.
/Макросы:<exename> Отображает макросы doskey для исполняемого файла, указанного в имени exename.
/Истории Отображает все команды, хранящиеся в памяти. Вы можете использовать символ перенаправления (>) с /history для перенаправления списка в файл. Вы можете сократить /history as /h.
/Вставить Указывает, что в старый текст вставляется новый текст.
/overstrike Указывает, что новый текст перезаписывает старый текст.
/exename=<exename> Указывает программу (то есть исполняемый файл), в которой выполняется макрос doskey .
/macrofile=<filename> Указывает файл, содержащий макросы, которые требуется установить.
<macroname>=[<text>] Создает макрос, который выполняет команды, заданные текстом. MacroName указывает имя, которое нужно назначить макросу. Текст задает команды, которые требуется записать. Если текст остается пустым, имя макроназначения удаляется из любых назначенных команд.
/? Отображение справки в командной строке.

Замечания

  • Некоторые символьные, интерактивные программы, такие как отладчики программ или программы передачи файлов (FTP), автоматически используют Doskey.exe. Чтобы использовать Doskey.exe, программа должна быть консольным процессом и использовать буферные входные данные. Назначения ключей программы переопределяют назначения ключей doskey . Например, если программа использует ключ F7 для функции, в всплывающем окне невозможно получить журнал команд doskey .

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

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

  • Чтобы отозвать команду, можно использовать любой из следующих ключей после запуска Doskey.exe:

    Ключ. Description
    СТРЕЛКА ВВЕРХ Вспоминает команду, используемую перед отображаемой командой.
    СТРЕЛКА ВНИЗ Вспоминает команду, используемую после отображаемого.
    PAGE UP Вспоминает первую команду, используемую в текущем сеансе.
    PAGE DOWN Вспоминает последнюю команду, используемую в текущем сеансе.
  • В следующей таблице перечислены ключи редактирования doskey и их функции:

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

  • Точка вставки изменяет фигуру при использовании клавиши INSERT для изменения одного режима на другой.

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

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

    Символ Description
    $G или $g Перенаправляет выходные данные. Используйте один из этих специальных символов для отправки выходных данных на устройство или файл вместо экрана. Этот символ эквивалентен символу перенаправления для выходных данных (>).
    $G$G или $g$g Добавляет выходные данные в конец файла. Используйте один из этих двойных символов, чтобы добавить выходные данные в существующий файл вместо замены данных в файле. Эти двойные символы эквивалентны символу перенаправления добавления для выходных данных (>>).
    $L или $l Перенаправляет входные данные. Используйте один из этих специальных символов для чтения входных данных с устройства или файла вместо клавиатуры. Этот символ эквивалентен символу перенаправления для входных данных (<).
    $B или $b Отправляет выходные данные макроса в команду. Эти специальные символы эквивалентны использованию канала ( и *.
    $T или $t Отделяет команды. Используйте один из этих специальных символов для разделения команд при создании макросов или введите команды в командной строке doskey . Эти специальные символы эквивалентны использованию амперсанда (&) в командной строке.
    $$ Указывает символ знака доллара ($).
    $1 через $9 Представляет все сведения командной строки, которые необходимо указать при запуске макроса. Специальные символы $1 $9 — это пакетные параметры, позволяющие использовать различные данные в командной строке при каждом запуске макроса. Символ $1 в команде doskey аналогичен %1 символу в пакетной программе.
    $* Представляет все сведения командной строки, которые необходимо указать при вводе имени макроса. Специальный символ $* — это заменяемый параметр, аналогичный параметрам $1 $9пакетной службы, с одним важным отличием: все, что вы вводите в командной строке после замены $* имени макроса в макросе.
  • Чтобы запустить макрос, введите имя макроса в командной строке, начиная с первой позиции. Если макрос был определен или $* какой-либо из параметров $1 $9пакетной службы, используйте пробел для разделения параметров. Вы не можете запустить макрос doskey из пакетной программы.

  • Если вы всегда используете определенную команду с определенными параметрами командной строки, можно создать макрос с тем же именем, что и команда. Чтобы указать, нужно ли запускать макрос или команду, выполните следующие рекомендации:

    • Чтобы запустить макрос, введите имя макроса в командной строке. Не добавляйте пробел перед именем макроса.

    • Чтобы выполнить команду, вставьте одно или несколько пробелов в командной строке и введите имя команды.

Примеры

Параметры командной строки /macros и /history полезны для создания пакетных программ для сохранения макросов и команд. Например, чтобы сохранить все текущие макросы doskey , введите:

doskey /macros > macinit

Чтобы использовать макросы, хранящиеся в Macinit, введите:

doskey /macrofile=macinit

Чтобы создать пакетную программу с именем Tmp.bat, которая содержит недавно использованные команды, введите:

doskey /history> tmp.bat

Чтобы определить макрос с несколькими командами, используйте для $t разделения команд следующим образом:

doskey tx=cd temp$tdir/w $*

В предыдущем примере макрос TX изменяет текущий каталог на Temp, а затем отображает список каталогов в широком формате отображения. Вы можете использовать $* в конце макроса, чтобы добавить другие параметры командной строки для dir при запуске параметра tx.

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

doskey mc=md $1$tcd $1

Макрос создает новый каталог, а затем изменяет новый каталог из текущего каталога.

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

mc books

Чтобы создать макрос doskey для программы с именем Ftp.exe, включите /exename следующим образом:

doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye

Чтобы использовать предыдущий макрос, запустите FTP. В командной строке FTP введите следующее:

go

FTP выполняет открытые, mget и команды bye.

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

doskey qf=format $1 /q /u

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

qf a:

Чтобы удалить макрос с именем vlist, введите следующее:

doskey vlist =