我想在一些较长的 cmd.exe 管道中使用 powershell 的“replace”;如何从 cmd 重定向到 powershell 输入?下面的行不起作用,给出空输出:
c:\>(echo foo && echo bar) | powershell -Command "%{$_ -replace \"f\",\"x\"}"
答案1
基于一些进一步的谷歌搜索结果,添加$input |
到 powershell 命令似乎有效,即:
C:\>(echo foo && echo bar) | powershell -Command "$input | %{$_ -replace \"f\",\"x\"}"
xoo
bar
(注意:在 .bat 文件中使用时,%
上面的内容显然需要替换为%%
)