6

2つのフォルダーを比較し、フォルダーごとに異なるファイルを出力する以下のコードがありますが、これを取得してサブフォルダー内のファイルの完全なファイル/フォルダーパスを出力する方法はありますか?

乾杯

 # 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
4

3 に答える 3

6

次のように、Compare-Object の Passthru フラグを使用します。

Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB -Passthru | % {$_.FullName}  >> C:\CmpOut.txt
于 2013-01-14T14:18:24.293 に答える
3

これを試して:

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 
于 2013-01-14T14:13:22.093 に答える
1

にパイプしますForEach {$_.InputObject.FullName}

このような:

Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB | ForEach {$_.InputObject.FullName}
于 2013-01-14T14:32:44.883 に答える