Команда DOSKEY – Редактирование и повторный вызов команд Windows; создание макросов DOSKey.



Использование команды DOSKEY позволяет упростить работу с командной строкой и минимизировать ручной ввод с использованием заранее подготовленных макросов.

Формат команды:

DOSKEY [/REINSTALL] [/LISTSIZE=размер] [/MACROS[:ALL | :модуль]] [/HISTORY] [/INSERT | OVERSTRIKE] [/EXENAME=модуль] [/MACROFILE=файл] [макрос=[текст]]

Параметры командной строки:

  /REINSTALL          Установка новой копии DOSKey.
  /LISTSIZE=размер    Размер буфера журнала команд.
  /MACROS             Вывод всех макросов DOSKey.
  /MACROS:ALL         Вывод всех макросов DOSKey для всех исполняемых
                      модулей, содержащих макросы DOSKey.
  /MACROS:модуль      Вывод всех макросов DOSKey для указанного модуля.
  /HISTORY            Вывод всех команд, хранящихся в памяти.
  /INSERT             Включение режима вставки.
  /OVERSTRIKE         Включение режима замены.
  /EXENAME=модуль     Исполняемый модуль.
  /MACROFILE=файл     Файл макросов, который следует установить.
  макрос              Имя нового макроса.
  текст               Команды, которые следует включить в макрос.


Специальные коды, которые можно использовать в макросах DOSKey:

$T Разделитель команд: обеспечивает ввод нескольких команд в одной строке. Эквивалент использования символа “&” в командной строке.

$b - Перенаправление вывода в команду. Эквивалент использования символа “|” в командной строке.

$1-$9 Параметры - эквиваленты параметров %1-%9 в пакетных файлах.

$g - перенаправление вывода.

$l - перенаправление ввода.

$* Заменяется текстом, стоящим в командной строке за именем макроса.

В файлах макросов не поддерживаются комментарии, но можно использовать, например определением фиктивного макроса с именем ;, присваивая ему строку текстового комментария, и удаляя его по завершении командой ;= .Напимер:

;= here is a comment - первая строка комментариев

;= another comment line - последующие строки

;=- удаление фиктивного макроса с именем ;

Примеры макросов:

Использовать макрос с именем npp для запуска редактора notepad++.

DOSKEY npp="C:\Program Files (x86)\Notepad++\notepad++.exe" - создать макрос npp. Пути и имена файлов, содержащие пробелы должны заключаться в двойные кавычки. Для запуска редактора notepad++ можно использовать команду npp или npp имя файла.

Макросы действительны в течении текущей сессии командной строки. Для запоминания созданных макросов можно использовать перенаправление вывода команды DOSKEY в файл:

doskey /macros > macros.cmd - записать макросы текущей сессии командной строки в файл macros.cmd текущего каталога.

Для загрузки ранее сохраненных макросов можно воспользоваться командой:

doskey /macrofile=macros.cmd - инициировать макросы текущей сессии командной строки из файла macros.cmd.

Макросы могут определяться не только для командного интерпретатора cmd.exe, но и для других программ:

doskey /exename=ftp.exe cn=open ftp.server.ru$Tuser1$TMypass$Tpwd - создать макрос для стандартного FTP-клиента ftp.exe , последовательно выполняющий команды подключения и отображения текущего каталога сервера:

open ftp.server.ru - подключение к FTP-серверу с именем ftp.server.ru.

user1- ввод имени пользователя.

Mypass - ввод пароля пользователя.

pwd - ввод команды для отображения текущего каталога FTP-сервера.

Создав макрос для FTP-клиента, вместо приведенной выше последовательности команд FTP-сессии, пользователь в строке приглашения утилиты ftp.exe вводит имя макроса:

ftp > cn

Для отображения макросов, созданных для всех исполняемых файлов, используется команда doskey /macros:all

Для вывода истории вводимых команд текущей сессии командной строки в файл можно воспользоваться командой:

doskey /history > session.txt - вывести историю команд в текстовый файл session.txt

В дополнение к данному материалу - Настройка командной строки и использование функциональных клавиш для работы с историей команд.








Весь список команд CMD Windows