我想RunDll32.exe shell32.dll,Control_RunDLL
通过 PowerShell 中的别名启动控制面板小程序。直接运行它可以正常工作,但是当我设置别名时:
set-Alias controlpanel "RunDll32.exe shell32.dll,Control_RunDLL"
并执行它,我收到标准错误消息The term 'RunDll32.exe shell32.dll,Control_RunDLL' is not recognized as the name of a cmdlet,...(snip)
我发现这是由于 runDLL.exe 和 shell.dll 之间的空格造成的。是否可以以某种方式添加带有空格的别名?
答案1
由于别名允许另一个名称一个(“单个”)命令。因此,在某种程度上,这不包含参数是可以理解的。(虽然我不确定为什么 PowerShell 不将第二个字符串解析为参数,无论如何有没有 2 个单词的命令?)
解决方案是使用一个函数,在我的例子中是Function controlpanel { RunDll32.exe shell32.dll,Control_RunDLL }
。