编写脚本时在Windows PowerShell中使用管道

1rhkuytd  于 2022-12-24  发布在  Windows
关注(0)|答案(1)|浏览(147)

我需要创建操作文件及其内容的脚本。如果我使用Windows Powershell,下面的命令可以完美地工作:

(Get-Content my_file.txt).Replace("aaa","bbb") | Set-Content my_file.txt

此命令将用bbb替换任何出现的aaa。但是,我希望将其 Package 到一个名为rename.cmd的脚本文件中。

CMD (Get-Content my_file.txt).Replace("aaa","bbb") | Set-Content my_file.txt

现在,如果我在PowerShell中键入.\rename.cmd,我会得到以下错误:

PS C:\Users\me\> .\rename.cmd
'Set-Content' is not recognized as an internal or external command,
operable program or batch file.
nx7onnlm

nx7onnlm1#

“CMD”文件用于CMD脚本(/“BAT”的WinNT扩展名/批处理文件/脚本)-由“Cmd.exe”运行(/以前在遥远的DOS中由“Command.com”运行)。
您需要将脚本更改为具有“PS1”文件扩展名,因此将其命名为“Rename.ps1”,这样它将由正确的解释器/shell -“PowerShell.exe”运行。
(But那么您可能需要向脚本声明/pass-in参数。)

相关问题