【问题标题】:How do I pass a quoted string as an argument to an executable in powershell?如何将带引号的字符串作为参数传递给PowerShell中的可执行文件?
【发布时间】:2020-04-15 11:55:19
【问题描述】:

我可以这样启动我的应用程序:

electron ./app/main.prod.js --input `SVGSVG`

但是,这样开始:

electron ./app/main.prod.js --input '<SVG></SVG>'

导致错误:&lt; was unexpected at this time.

这让我很惊讶,因为我将特殊字符作为字符串的一部分传递。

为什么会出现这个问题?

【问题讨论】:

  • @AdminOfThings:不,但托马斯的回答确实有效。感谢您的帮助!
  • 只是为了改进答案,这也行吗? electron ./app/main.prod.js --input `"&lt;SVG&gt;&lt;/SVG&gt;`"
  • @Thomas:行得通。好多了,谢谢!
  • 这取决于... 使用Start-Process cmdlet,您可以更好地控制流程。有些人可能会认为这更好;-)

标签: powershell parameter-passing external executable


【解决方案1】:

当 PS 最终将参数传递给程序时,这些引号将不再存在。你可以试试这个电话:

Start-Process electron -ArgumentList "./app/main.prod.js --input `"<SVG></SVG>`""

坚持您的直接调用,这也将起作用:

electron ./app/main.prod.js --input `"<SVG></SVG>`"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-20
    • 2016-07-22
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多