当我使用powershell.exe -command时,我可以运行代码

发布于 2025-01-22 03:23:26 字数 160 浏览 0 评论 0 原文

感冒你帮我解决以下问题吗?

如何

"{0:n10}" -f 21.21

在参数中运行代码

powershell.exe -command "& {}" 

Cold you help me with following problem?

How to run the

"{0:n10}" -f 21.21

code in

powershell.exe -command "& {}" 

argument?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风吹短裙飘 2025-01-29 03:23:26
  • 没有理由使用“& {...}” ,以通过 -command -c-c)调用传递给PowerShell的CLI的代码)参数 - 只需直接使用“ ...”


  • uneScaped “命令行上的字符在 -command 之后 ( -c )被解释为PowerShell代码。


    • 来自 powershell 的观点,使用 \“ 在两个版本中都可以使用。
    • 此外,为防止无意间的白色归一化(将多个空间折叠为一个),应在一个内部传递整个要传递到 command )的命令“ ...” 字符串总体:

因此(请注意,该假设是从 frome powershell进行调用):

powershell.exe -Command " \"{0:n10}\" -f 21.21"

但是,当从 cmd.exe 调用时,具体来说, \“ May break cmd.exe 的语法,在这种情况下,嵌入式 chars的逃避形式不同。以下作用很强:

请参阅此答案有关详细信息。

  • There's no reason to use "& { ... }" in order to invoke code passed to PowerShell's CLI via the -Command (-c) parameter - just use "..." directly.

    • Older versions of the CLI documentation erroneously suggested that & { ... } is required, but this has since been corrected.
  • Unescaped " characters on the command line are stripped before the resulting argument(s) following -Command (-c) are interpreted as PowerShell code. " characters that need to be preserved as part of the PowerShell command to execute therefore need escaping.

    • From PowerShell's perspective, using \" works, in both editions.
    • Additionally, to prevent inadvertent whitespace normalization (folding of multiple spaces into one), the entire command to pass to -Command (-c) should be passed inside a single, "..." string overall:

Therefore (note that this assumes calling from outside PowerShell):

powershell.exe -Command " \"{0:n10}\" -f 21.21"

However, when calling from cmd.exe, specifically, \" escaping may break cmd.exe's syntax, in which case a different form of escaping of embedded " chars. is required - the following works robustly:

See this answer for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文