如何在cmd管道中使用powershell命令?

aka*_*vel 5 windows powershell command-line

我想在一些长的 cmd.exe 管道中使用 powershell 的“替换”;如何从 cmd 重定向到 powershell 输入?下面的行不起作用,给出空输出:

c:\>(echo foo && echo bar) | powershell -Command "%{$_ -replace \"f\",\"x\"}"
Run Code Online (Sandbox Code Playgroud)

aka*_*vel 5

根据一些进一步的谷歌搜索结果,添加$input |到 powershell 命令似乎有效,即:

C:\>(echo foo && echo bar) | powershell -Command "$input | %{$_ -replace \"f\",\"x\"}"
xoo
bar
Run Code Online (Sandbox Code Playgroud)

(注意:当在.bat文件中使用时,%上面需要替换为%%,显然)