Powershell将对象管道与文件和函数进行比较

Powershell将对象管道与文件和函数进行比较,powershell,compareobject,Powershell,Compareobject,我是一名Powershell新手,我想通过管道将Compare对象的结果传输到写入进度函数(进度条)以及.csv文件。我有以下内容,但它只写入文件。我只能用一根管子吗?我有很多目录要比较,我真的不想在使用compare Object后再次循环结果: $Counter = 0 Write-Host "Comparing Folders" compare-object $dirList1 $dirList2 | %{ Write-Progress -Activity "Comparing Folde

我是一名Powershell新手,我想通过管道将Compare对象的结果传输到写入进度函数(进度条)以及.csv文件。我有以下内容,但它只写入文件。我只能用一根管子吗?我有很多目录要比较,我真的不想在使用compare Object后再次循环结果:

$Counter = 0
Write-Host "Comparing Folders"
compare-object $dirList1 $dirList2 | %{
Write-Progress -Activity "Comparing Folders" -Status "$_" -PercentComplete ($counter/$TotalFolderCount * 100)
sleep -milliseconds 20
$Counter++
} | ft inputobject, @{n="Only In Directory";e={ if ($_.SideIndicator -eq '=>') { "$dir2" }  else { "$dir1" } }} | Out-File $outFile

您可以将
Out文件
替换为
Tee对象

Tee对象
将输入对象写入文件并沿管道传递,例如:

"Test01","Test02" | Tee-Object -FilePath C:\temp\tee.txt | % {
    Write-Host $_ -ForegroundColor Green
}
您将看到字符串以亮绿色写入屏幕,如果检查文件,您将看到它也包含字符串:

PS C:\> Get-Content C:\temp\tee.txt
Test01
Test02