PowerShell将命令存为变量后带参数执行报错缺少什么?
报错原因
你遇到的报错是因为PowerShell语法中,直接调用存储了可执行文件路径的字符串变量时,缺少**& 调用运算符**。
PowerShell解析代码时,如果行首的执行对象是字符串变量,会默认将后续内容判定为表达式而非命令参数,所以你直接写$exec "C:\temp\test.txt"会触发参数解析错误。
修复方案
在存储命令路径的变量前添加&运算符即可正常执行,示例如下:
$exec = "C:\Windows\system32\notepad.exe" & $exec "C:\temp\test.txt"
如果需要传递多个参数,也可以把参数存为数组后调用:
$exec = "C:\Windows\system32\notepad.exe" $params = "C:\temp\test.txt" & $exec $params
内容的提问来源于stack exchange,提问作者fhcat
相关产品推荐
相关产品推荐

