![Powershell 中的命令行参数](https://linux22.com/image/1402182/Powershell%20%E4%B8%AD%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0.png)
我正在使用一个名为 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"