Создать постоянный DOSKEY в Windows cmd

4

Я думаю, что название довольно очевидно.

Вопрос в том, как создать псевдоним в Windows cmd, который также будет работать после закрытия и повторного открытия. Например, я хотел бы получить псевдоним ip вызвать команду ipconfig или псевдоним ls -l звонить Dir,

Моя операционная система - Windows 10, на случай, если что-то изменится.

nick zoum
источник

Ответы:

7

Создать файл определения макроса например, в 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 настройки могут привести к непредвиденному нежелательному поведению, например, как описано в Скрытая ошибка: настройка автозапуска командного процессора

Читать Сохранить и восстановить определения макросов ; Вы могли бы подготовить действительный 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 из командного файла ,

JosefZ
источник
@nickzoum извините, я не могу быть более конкретным; пожалуйста, смотрите обновленный ответ.
JosefZ
последняя строка, почему мы не можем, и что мы можем сделать, чтобы это работало?
v.oddou
@ v.oddou, пожалуйста, прочитайте Doskey.exe а также Пакетный файл макросов а также обе полезные ссылки на dostips.com ниже в последнем.
JosefZ
2
  1. Создайте файл для хранения ваших макросов (DOSKEYs).
    "C: \ битой \ macros.doskey"

    ls=dir $* $T
    up=cd.. $T
    ex=exit $T
    np=notepad
    
  2. Зайдите в редактор реестра.

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
    
  3. Щелкните правой кнопкой мыши и добавьте новый подраздел «String Value». Назовите это Autorun.
    Щелкните правой кнопкой мыши - & gt; Новый - & gt; Строковое значение

  4. Щелкните правой кнопкой мыши и измените данные значения.
    Щелкните правой кнопкой мыши - & gt; Изменить - & gt; Данные значения - & gt; DOSKEY /MACROFILE="C:\bat\macros.doskey"
  5. Хорошо пойти.

† Обратите внимание, что файл не должен быть сохранен как файл .doskey.
† Также обратите внимание, что токен $T требуется, если вы делаете несколько DOSKEY.

John DeBord
источник