4

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

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

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

2 ответа2

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

2
  1. Создайте файл для хранения ваших макросов (DOSKEYs).
    "C:\bat\macros.doskey"

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

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
    
  3. Щелкните правой кнопкой мыши и добавьте новый подраздел "Значение строки". Назовите это Autorun.
    Щелкните правой кнопкой мыши -> Создать -> Значение строки

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .