在 Powershell 中创建包含空格的别名(用于参数)

在 Powershell 中创建包含空格的别名(用于参数)

我想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 }

答案2

相关内容