添加单个doskey命令-Windows注册表

时间:2018-10-23 16:46:10

标签: batch-file registry doskey

我正在处理批处理文件,我需要添加以下条目:

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/f标志。

如果我手动添加条目:

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 :(得分:1)

如果您试图将doskey命令添加到命令提示符的AutoRun中,以便每次您打开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命令。
  • 由于您的命令包含引号("),因此您需要对其进行转义,以免命令行(\")处理引号。