windows子命令评估

mer*_*ert 8 windows shell command-line cmd

linux和unix shell可以像这样处理子命令.

$> command `subcommand`
Run Code Online (Sandbox Code Playgroud)

windows cmd shell有类似的功能吗?

Mic*_*urr 8

您可以使用for命令的变体获得类似的东西:

FOR /F "usebackq tokens=*" %%a IN (`subcommand`) DO @command %%a
Run Code Online (Sandbox Code Playgroud)

一个很大的区别(除了不直观和更丑陋)是它将command为每条线产生一次subcommand

请注意,在脚本文件中,百分号必须加倍(如果您有理由想在命令行执行此操作,请使用非加倍百分号).

  • usebackq不是必需的(你可以使用单引号):`for/f"tokens =*"%f in('subcommand')do @(command"%f")`(我喜欢使用括号使用'批处理'中的条件语句,以便您可以轻松地向"正文"添加多个语句) (3认同)