将 Write-Host 的输出管道输出到其他命令
Piping output from Write-Host to other command
我有这个脚本可以根据某些自助餐厅查找文件并使用 Write-Host 写入它们的路径。现在,我想通过管道传输所有这些文件路径,并对这些文件进行处理。
基本上第一个脚本是这样的:
FindFiles.ps1:
Write-Host "C:\SomeDir\file1.txt"
Write-Host "D:\OtherDir\file2.txt"
现在我想做这样的事情:
FindFiles.ps1 | foreach { Copy-Item $_ c:\backup\ }
但显然这是行不通的。 (实际上我想做一些比复制文件夹更复杂的事情,但这是另一个问题:-))
Write-Host
专门只打印到控制台,它不会 "return" 任何东西。
如果您将脚本更改为只输出字符串,它会起作用。
发件人:
Write-Host "C:\SomeDir\file1.txt"
Write-Host "D:\OtherDir\file2.txt"
收件人:
"C:\SomeDir\file1.txt"
"D:\OtherDir\file2.txt"
我有这个脚本可以根据某些自助餐厅查找文件并使用 Write-Host 写入它们的路径。现在,我想通过管道传输所有这些文件路径,并对这些文件进行处理。
基本上第一个脚本是这样的:
FindFiles.ps1:
Write-Host "C:\SomeDir\file1.txt"
Write-Host "D:\OtherDir\file2.txt"
现在我想做这样的事情:
FindFiles.ps1 | foreach { Copy-Item $_ c:\backup\ }
但显然这是行不通的。 (实际上我想做一些比复制文件夹更复杂的事情,但这是另一个问题:-))
Write-Host
专门只打印到控制台,它不会 "return" 任何东西。
如果您将脚本更改为只输出字符串,它会起作用。
发件人:
Write-Host "C:\SomeDir\file1.txt"
Write-Host "D:\OtherDir\file2.txt"
收件人:
"C:\SomeDir\file1.txt"
"D:\OtherDir\file2.txt"