从 PowerShell 提示符中:
\Windows\system32\mspaint.exe
将运行 Paint。
Invoke-Expression -command "\Windows\system32\mspaint.exe"
但如果路径中有空格,PowerShell 就会输出假值,例如
Invoke-Expression -command "\install\sub directory\test.bat"
其中抱怨的是:
The term '\install\sub' is not recognized as the name of a cmdlet, function, script file, or operable program.
我错过了什么?
答案1
根据这Technet 上的文章指出,用双引号括住路径是不够的。
您尝试使用的路径必须具有&目录前面必须有 (&) 符号,否则它将不起作用。
例如:
Invoke-Expression -command & "\install\sub directory\test.bat"
答案2
最简单的方法是使用invoke运算符:
&'String containing the path'
请注意,启动可执行文件Invoke-Expression
实际上是错误的 cmdlet,最好使用Start-Process
。