我想将绝对文件路径存储在Power Shell变量中,并使用它来执行带有参数的程序。我想在构建服务器上执行此操作,因此我可以在构建代理使用的该构建服务器上拥有一个实用程序。考虑一下:
$pathToExe = "C:\path\to\program.exe"
#build server does stuff in a working dir
$pathToExe arg1 arg2
此命令运行时,$ pathToExe不会扩展为其值。相反,我在日志中看到:“表达式或语句中出现意外的令牌'arg1'。”
在Power Shell中执行这种操作的正确方法是什么?我已经尝试了其他带引号的语法,但是如果不对文件路径进行硬编码,就无法使其正常工作。
答案 0 :(得分:4)
您应使用呼叫运营商[[1, 2, 3], [2, 4, 6], [3, 6, 9]]
。请参阅以下示例:
&
请参见$executable = 'notepad.exe'
$argument = 'E:\Temp\Test.xml'
& $executable $argument
& $executable 'E:\Temp\Test.xml'
或此MSDN link。