我试图在PowerShell中写这个:
cspack $ a / ServiceDefinition.csdef / role:$ b; $ c /rolePropertiesFile:$a.$b;c$ / sites:$ a; $ b; $ c / out:$ out
但看起来PowerShell需要解决这个问题,我遇到了麻烦。
我得到的错误如下:
您必须在'/'运算符右侧提供值表达式
那么如何在PowerShell中调用EXE文件并提供多行/开关参数如果我执行以下操作?
cspack.exe $a/ServiceDefinition.csdef `
/role:$b;$c ` (place backtick on the end)
/rolePropertiesFile:$a.$b;c$ (powershell complains on this line)
答案 0 :(得分:2)
有关/
运算符的错误通常表明PowerShell没有将命令视为命令行;前缀&
以强制它这样做。请注意,如果.\cspack
位于当前目录中,您还需要使用cspack
。 PowerShell还会将分号视为语句终止符,因此您需要用引号括住每个参数以防止它出现。
& cspack "$a/ServiceDefinition.csdef" "/role:$b;$c" "/rolePropertiesFile:$a.$b;c$" "/sites:$a;$b;$c" "/out:$out"
答案 1 :(得分:1)
您需要转义分号,因为它是PowerShell中的语句分隔符。在每个;
PowerShell认为它正在执行新命令之后。试试这个:
cspack $a/ServiceDefinition.csdef /role:$b`;$c /rolePropertiesFile:$a.$b`;c$ /sites:$a`;$b`;$c /out:$out