Powershell 中的命令行参数

Powershell 中的命令行参数

我正在使用一个名为 sonar-runner 的程序,您可以从命令行执行它,并且可以传递可选参数。例如,在普通的 Windows 命令行工具中,调用可能看起来像这样:

sonar-runner -Dsonar.dryRun=true -Dsonar.inclusions=src/main/java/com/schoen/Test.java

当我尝试从 Powershell 运行相同的命令时,出现以下错误:

ERROR: Unrecognized option: .dryRun=true
INFO:
INFO: usage: sonar-runner [options]
INFO:
INFO: Options:
INFO:  -D,--define <arg>     Define property
INFO:  -e,--errors           Produce execution error messages
INFO:  -h,--help             Display help information
INFO:  -v,--version          Display version information
INFO:  -X,--debug            Produce execution debug output

它本质上错误地解析了参数,用句号而不是空格将它们分开。有办法解决这个问题吗?

答案1

将它们括在引号中,以便 powershell 不会尝试解析它:

sonar-runner.exe "-Dsonar.dryRun=true" "-Dsonar.inclusions=src/main/java/com/schoen/Test.java"

相关内容