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



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

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

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

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

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


Специальные коды, которые можно использовать в макросах 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