Создайте файл определения макроса, например, в notepad
; назовите его по своему желанию и сохраните в любом месте (например, в следующем примере я использовал имя файла macros.doskey
в папке d:\bat\
).
Кроме того, doskey /macros>d:\bat\macros.doskey
выведет список всех текущих определений макросов в файл d:\bat\macros.doskey
.
Пример файла определения макроса может быть следующим (обратите внимание, что ==>
- это моя командная строка, указанная в командной prompt $Q$Q$G$S
):
==> type d:\bat\macros.doskey
ls=dir /B $1
ip=ipconfig $*
Затем следующие команды должны выполнить работу:
==> reg add "HKCU\Software\Microsoft\Command Processor" /v Autorun /d "doskey /macrofile=\"d:\bat\macros.doskey\"" /f
The operation completed successfully.
==> reg query "HKCU\Software\Microsoft\Command Processor" /v Autorun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
Autorun REG_SZ doskey /macrofile="d:\bat\macros.doskey"
Для объяснения читайте cmd /?
:
Если /D
НЕ было указано в командной строке, то при запуске CMD.EXE
он ищет следующие переменные реестра REG_SZ
/REG_EXPAND_SZ
, и, если присутствует один или оба, они выполняются первыми.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
и /или
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
Отказ от ответственности: некоторые настройки AutoRun
могут случаться в непредвиденном нежелательное поведении, например как описано в Hidden Gotcha: настройка AutoRun командного процессора
Прочитайте Сохранить и восстановить определения макросов ; Вы можете подготовить действительный файл скрипта macros.cmd
за один шаг:
==> >macros.cmd (@for /F "delims=" %G in ('doskey /macros') do @echo DOSKEY %G)
==> type macros.cmd
DOSKEY ip=ipconfig $*
DOSKEY ls=dir /B $1
==>
Помните, что вы не можете запустить макрос Doskey из командного файла.