如何让PowerShell逐行读取并将其传递给另一个命令?

Fra*_*ère 6 windows powershell command-line

互联网上关于这个特定主题的很多问题都是针对 Linux 的 BASH,我想知道是否可以仅使用 PowerShell 来实现同样的事情。

在 Bash 上,可以使用:

for line in $(cat file.txt); do echo $line; done
Run Code Online (Sandbox Code Playgroud)

然后 bash 将循环遍历 file.txt 的每一行并将其发送到 echo 或您正在使用的任何命令。

如何在 Windows 的powershell上实现同样的效果?

我发现 PS 有“ Get-Content”命令,其工作方式与“ ”类似cat,但我无法从那里继续。

Fra*_*ère 5

好吧,事实证明这并不那么困难,但我将把它留给未来的互联网人们。

PowerShell 有一组已定义的循环,其中一个称为 One 可以简单地执行以下操作:ForEach

ForEach ($line in Get-Content [File]) {[Command]) $line}
Run Code Online (Sandbox Code Playgroud)

[File]您正在读取的文件路径在哪里,您将每行发送到的命令在
哪里。[Command]

举个例子:

ForEach ($line in Get-Content thingstoecho.txt) {echo $line}
Run Code Online (Sandbox Code Playgroud)