如何在PowerShell 3.0中编写此多行语句
我正试图在PowerShell中编写以下内容: cspack$a/ServiceDefinition.csdef/角色:$b$c/角色属性文件:$a.$b;c$/场地:$a$b$c/输出:$输出 但看起来PowerShell需要打破这个声明,这让我有点麻烦 我得到的错误如下: 必须在“/”运算符的右侧提供值表达式 那么,如果我执行以下操作,如何调用EXE文件并在PowerShell中提供多行/开关参数如何在PowerShell 3.0中编写此多行语句,powershell,Powershell,我正试图在PowerShell中编写以下内容: cspack$a/ServiceDefinition.csdef/角色:$b$c/角色属性文件:$a.$b;c$/场地:$a$b$c/输出:$输出 但看起来PowerShell需要打破这个声明,这让我有点麻烦 我得到的错误如下: 必须在“/”运算符的右侧提供值表达式 那么,如果我执行以下操作,如何调用EXE文件并在PowerShell中提供多行/开关参数 cspack.exe $a/ServiceDefinition.csdef ` /role:$
cspack.exe $a/ServiceDefinition.csdef `
/role:$b;$c ` (place backtick on the end)
/rolePropertiesFile:$a.$b;c$ (powershell complains on this line)
有关
/
运算符的错误通常表示PowerShell未将该命令视为命令行;加前缀a&
,强制它这样做。注意:如果cspack
位于当前目录中,您还需要使用\cspack
。PowerShell还将分号视为语句终止符,因此您需要用引号将每个参数括起来以防止出现这种情况
& cspack "$a/ServiceDefinition.csdef" "/role:$b;$c" "/rolePropertiesFile:$a.$b;c$" "/sites:$a;$b;$c" "/out:$out"
您需要转义分号,因为它是PowerShell中的语句分隔符。在每个
之后
PowerShell认为它正在执行新命令。试试这个:
cspack $a/ServiceDefinition.csdef /role:$b`;$c /rolePropertiesFile:$a.$b`;c$ /sites:$a`;$b`;$c /out:$out