当我使用powershell.exe -command时,我可以运行代码
感冒你帮我解决以下问题吗?
如何
"{0:n10}" -f 21.21
在参数中运行代码
powershell.exe -command "& {}"
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
感冒你帮我解决以下问题吗?
如何
"{0:n10}" -f 21.21
在参数中运行代码
powershell.exe -command "& {}"
?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
没有理由使用
“& {...}”
,以通过-command
(-c-c)调用传递给PowerShell的CLI的代码
)参数 - 只需直接使用“ ...”
。& {...}
是必需的,但此后已纠正。uneScaped
“命令行上的字符在
-command
之后 (-c
)被解释为PowerShell代码。\“
在两个版本中都可以使用。此外,为防止无意间的白色归一化(将多个空间折叠为一个),应在一个内部传递整个要传递到
)的命令单,command
“ ...”
字符串总体:因此(请注意,该假设是从 frome powershell进行调用):
但是,当从
chars的逃避形式不同。以下作用很强:
cmd.exe
调用时,具体来说,\“
May breakcmd.exe
的语法,在这种情况下,嵌入式“^”“
(sic),powershell.exe
, Windows PowerShell cli: cli:请参阅此答案有关详细信息。
There's no reason to use
"& { ... }"
in order to invoke code passed to PowerShell's CLI via the-Command
(-c
) parameter - just use"..."
directly.& { ... }
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.\"
works, in both editions.-Command
(-c
) should be passed inside a single,"..."
string overall:Therefore (note that this assumes calling from outside PowerShell):
However, when calling from
cmd.exe
, specifically,\"
escaping may breakcmd.exe
's syntax, in which case a different form of escaping of embedded"
chars. is required - the following works robustly:"^""
(sic) withpowershell.exe
, the Windows PowerShell CLI:""
withpwsh.exe
, the PowerShell (Core) 7+ CLI:See this answer for details.