2013-01-14 11 views
5

2つのフォルダを比較し、各フォルダに対して異なるファイルを出力する以下のコードがあります。サブフォルダ内のファイルの完全なファイル/フォルダパスを出力する方法はありますか?Powershell - フォルダの内容を比較する

乾杯

# 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 

答えて

3

はこれを試してみてください:それはForEach {$_.InputObject.FullName}を通じて

Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB -Passthru | % {$_.FullName} >> C:\CmpOut.txt 
5

はそうのようなComapre、オブジェクトのパススルーフラグを使用します。 SideIndicatorが失われている。このように

Compare-Object -ReferenceObject $FolderA -DifferenceObject $FolderB | ForEach {$_.InputObject.FullName} 
+0

:このように

。 –

1

パイプ:

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 
+0

このようにSideIndicatorは失われます。 –

+1

これは失われていません... '$ _。SideIndicator'で利用できます。 – aphoria

関連する問題