Добавить единственную команду doskey - реестр Windows - PullRequest
0 голосов
/ 23 октября 2018

Я работаю над командным файлом, и мне нужно добавить эту запись:

doskey wfreerdp="C:\Program Files\wfreerdp\wfreerdp.exe" $*

к этому запросу:

HKCU\Software\Microsoft\Command Processor

Я играл с параметрами reg add, но я просто не могу заставить его работать.

Я знаю, что это должно быть что-то вроде:

reg add "HKCU\Software\Microsoft\Command Processor" /v doskey wfreerdp = "C:\Program Files\wfreerdp\wfreerdp.exe" $*

, но я не знаю, какой и как использовать /t, /S, /d & /fflags.

Если я вручную добавлю запись:

doskey wfreerdp = "C:\Program Files\wfreerdp\wfreerdp.exe" $*

, она отлично работает.

Или я попытался создать файл C:\bat\macros.doskey, содержащий команду doskey:

doskey wfreerdp = "C:\Program Files\wfreerdp\wfreerdp.exe" $*

и следующее в командном файле:

reg add "HKCU\Software\Microsoft\Command Processor" /v Autorun /d "doskey /macrofile=\"c:\bat\macros.doskey\"" /f

Безуспешно.

Есть подсказки?

1 Ответ

0 голосов
/ 23 октября 2018

Если вы пытаетесь добавить команду doskey в автозапуск вашей командной строки, чтобы она запускалась при каждом открытии cmd.exe, вам потребуется выполнить следующее:

reg add "HKCU\Software\Microsoft\Command Processor" /v "AutoRun" /d "doskey wfreerdp = \"C:\Program Files\wfreerdp\wfreerdp.exe\" $*"

Давайте разберем это:

  • Из документации на cmd /?:

    If /D was NOT specified on the command line, then when CMD.EXE starts, it
    looks for the following REG_SZ/REG_EXPAND_SZ registry variables, and if
    either or both are present, they are executed first.
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
    
            and/or
    
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
    
  • Вы уже знаете себяВы помещаете ключ в HKEY_CURRENT_USER\Software\Microsoft\Command Processor.

  • Переключатель /v указывает имя значения для добавления / изменения, которое в данном случае является клавишей AutoRun.
  • Переключатель /d указывает, что должна содержать эта клавиша, в данном случае это команда doskey.
  • Поскольку ваша команда содержит кавычки ("), вам нужно будет экранировать их, чтобы онине обрабатывается командной строкой (\").
...