如何将多个参数传递给 dotCover merge
How to pass multiple arguments to dotCover merge
我正在编写 powershell 命令来合并两个快照,如下所示 -
&$coveragTool merge /Source= $TestResult1;$TestResult2 /Output= TestMergeOutput.dcvr
它给出的错误是 -
Parameter 'Source' has invalid value.
Invalid volume separator char ':' (0x3A) in path at index 67.
如文档所述,两个文件应以分号 (;) 分隔
像这样-
merge: Merge several coverage snapshots
usage: dotCover merge|m <parameters>
Valid parameters:
--Source=ARG : (Required) List of snapshots separated with semicolon (;)
--Output=ARG : (Required) File name for the merged snapshot
--TempDir=ARG : (Optional) Directory for the auxiliary files. Set to system temp by default
Global parameters:
--LogFile=ARG : (Optional) Enables logging and allows specifying a log file name
--UseEnvVarsInPaths=ARG : (Optional) [True|False] Allows using environment variables (for example, %TEMP%) in paths. True
by default
如何修改正确?
您不能将 unquoted ;
作为参数的一部分传递,因为 PowerShell 将其解释为语句分隔符。
要么将参数包含在 "..."
中,要么 `
- 有选择地转义 ;
字符;此外,=
之后的 space 可能是也可能不是问题。
要使调用(至少在语法上)成功,请使用以下内容:
& $coveragTool merge /Source="$TestResult1;$TestResult2" /Output=TestMergeOutput.dcvr
或者(注意 `
,忽略损坏的语法突出显示):
& $coveragTool merge /Source=$TestResult1`;$TestResult2 /Output=TestMergeOutput.dcvr
PowerShell 比 cmd.exe
具有更多所谓的 元字符 ,例如,除了 & | < >
之外,值得注意的是 ( ) , { } ; @ $ #
- 请参阅 了解更多信息。
我正在编写 powershell 命令来合并两个快照,如下所示 -
&$coveragTool merge /Source= $TestResult1;$TestResult2 /Output= TestMergeOutput.dcvr
它给出的错误是 -
Parameter 'Source' has invalid value.
Invalid volume separator char ':' (0x3A) in path at index 67.
如文档所述,两个文件应以分号 (;) 分隔
像这样-
merge: Merge several coverage snapshots
usage: dotCover merge|m <parameters>
Valid parameters:
--Source=ARG : (Required) List of snapshots separated with semicolon (;)
--Output=ARG : (Required) File name for the merged snapshot
--TempDir=ARG : (Optional) Directory for the auxiliary files. Set to system temp by default
Global parameters:
--LogFile=ARG : (Optional) Enables logging and allows specifying a log file name
--UseEnvVarsInPaths=ARG : (Optional) [True|False] Allows using environment variables (for example, %TEMP%) in paths. True
by default
如何修改正确?
您不能将 unquoted ;
作为参数的一部分传递,因为 PowerShell 将其解释为语句分隔符。
要么将参数包含在 "..."
中,要么 `
- 有选择地转义 ;
字符;此外,=
之后的 space 可能是也可能不是问题。
要使调用(至少在语法上)成功,请使用以下内容:
& $coveragTool merge /Source="$TestResult1;$TestResult2" /Output=TestMergeOutput.dcvr
或者(注意 `
,忽略损坏的语法突出显示):
& $coveragTool merge /Source=$TestResult1`;$TestResult2 /Output=TestMergeOutput.dcvr
PowerShell 比 cmd.exe
具有更多所谓的 元字符 ,例如,除了 & | < >
之外,值得注意的是 ( ) , { } ; @ $ #
- 请参阅