Создайте файл определения макроса, например, в 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 из командного файла.