将 DOS 命令的输出作为参数传递给另一个命令?

rip*_*234 5 windows command-line

在 linux 中,这需要一个命令,并将其输出 (stdout) 传递给另一个:

echo `ls`
Run Code Online (Sandbox Code Playgroud)

什么是 Windows/cmd/batch 等价物?

Nic*_*ton 17

cmd.exe提供使用反引号的基本命令替换功能,但只能通过带有选项的for循环/f usebackq。然而,与 Unix shell 的做法相比,这简直是脑残所有这些同时进入命令行。(您可以使用该delims选项稍微调整行为。)这是一个示例:

for /f usebackq %F in (`dir /w s*c`) do echo %F
Run Code Online (Sandbox Code Playgroud)

如果您想要真正的 Unix 风格的命令替换,您将需要一个真正的 Unix shell,例如Cygwin bash或我自己的(商业)Hamilton C shell