doskey

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

Syntax

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

Parameters

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

Remarks

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

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

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

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

    Key Description
    UP ARROW Вспоминает команду, используемую перед отображаемой командой.
    DOWN ARROW Вспоминает команду, используемую после отображаемого.
    PAGE UP Вспоминает первую команду, используемую в текущем сеансе.
    PAGE DOWN Вспоминает последнюю команду, используемую в текущем сеансе.
  • В следующей таблице перечислены ключи редактирования doskey и их функции:

    Клавиша или сочетание клавиш Description
    LEFT ARROW Перемещает точку вставки назад один символ.
    RIGHT ARROW Перемещает точку вставки вперед один символ.
    CTRL+LEFT ARROW Перемещает точку вставки обратно в одно слово.
    CTRL+RIGHT ARROW Перемещает точку вставки вперед по одному слову.
    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 посреди существующего текста, не заменяя текст. Однако после нажатия клавиши ENTER Doskey.exe возвращает клавиатуру в режим замены . Необходимо нажать INSERT еще раз, чтобы вернуться в режим Insert .

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

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

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

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

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

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

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

Examples

Параметры командной строки /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

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

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

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 запускает команды open, mget и bye .

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

doskey qf=format $1 /q /u

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

qf a:

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

doskey vlist =