Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PowerShell 3.0中编写此多行语句_Powershell - Fatal编程技术网

如何在PowerShell 3.0中编写此多行语句

如何在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:$

我正试图在PowerShell中编写以下内容:

cspack$a/ServiceDefinition.csdef/角色:$b$c/角色属性文件:$a.$b;c$/场地:$a$b$c/输出:$输出

但看起来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)

有关
/
运算符的错误通常表示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