我有下面的代碼比較兩個文件夾,並輸出不同的文件相對於每個文件夾,有沒有辦法讓它輸出子文件夾中的文件的完整文件/文件夾路徑?它通過ForEach {$_.InputObject.FullName}
Powershell - 比較文件夾內容
Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB -Passthru | % {$_.FullName} >> C:\CmpOut.txt
我有下面的代碼比較兩個文件夾,並輸出不同的文件相對於每個文件夾,有沒有辦法讓它輸出子文件夾中的文件的完整文件/文件夾路徑?它通過ForEach {$_.InputObject.FullName}
Powershell - 比較文件夾內容
Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB -Passthru | % {$_.FullName} >> C:\CmpOut.txt
試試這個:
Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB |
select @{n="InputObject";e={
if ($_.inputobject -is [system.io.directoryinfo])
{([system.io.DirectoryInfo]$_.InputObject).fullname}
else
{ ([system.io.FileInfo]$_.InputObject).fullname}}},SideIndicator
使用Comapre-對象的中繼標誌,像這樣。
像這樣:
Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB | ForEach {$_.InputObject.FullName}
管:
乾杯
# Create varaibles to store folder paths - pass to Strings...
param([string]$argFolderA,[string]$argFolderB)
# Set variables for folder
$FolderA = Get-ChildItem -Recurse -path $argFolderA
$FolderB = Get-ChildItem -Recurse -path $argFolderB
# Compare the contents and output the files different within each folder.
Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB >> C:\CmpOut.txt
以這種方式SideIndicator丟失。 –
它不會丟失......它可以通過'$ _。SideIndicator'獲得。 – aphoria
這樣SideIndicator丟失。 –