1

我正在尝试在 PowerShell 中编写此代码:

cspack $a/ServiceDefinition.csdef /role:$b;$c /rolePropertiesFile:$a.$b;c$ /sites:$a;$b;$c /out:$out

但看起来 PowerShell 需要分解这个我遇到问题的语句。

我收到如下错误:

您必须在“/”运算符的右侧提供一个值表达式

那么,如果我执行以下操作,如何调用 EXE 文件并在 PowerShell 中提供多行/切换参数?

cspack.exe $a/ServiceDefinition.csdef `
/role:$b;$c `  (place backtick on the end)
/rolePropertiesFile:$a.$b;c$ (powershell complains on this line)
4

2 回答 2

2

关于/操作符的错误通常表明 PowerShell 没有将命令视为命令行;前缀 a&强制它这样做。请注意,您还需要使用.\cspackif cspackis in the current directory 。PowerShell 还将分号视为语句终止符,因此您需要用引号将每个参数括起来以防止出现这种情况。

& cspack "$a/ServiceDefinition.csdef" "/role:$b;$c" "/rolePropertiesFile:$a.$b;c$" "/sites:$a;$b;$c" "/out:$out"
于 2013-07-25T03:19:11.193 回答
1

您需要转义分号,因为这是 PowerShell 中的语句分隔符。在每个;PowerShell 认为它正在执行一个新命令之后。尝试这个:

cspack $a/ServiceDefinition.csdef /role:$b`;$c /rolePropertiesFile:$a.$b`;c$ /sites:$a`;$b`;$c /out:$out
于 2013-07-25T05:07:02.203 回答