2016-07-08 2 views
0

私は異なった構造のフォルダをたくさん持っています、私は同じフォルダに存在する2つのファイル拡張子を検索したいです。私はこれらの2つのファイルのサイズを比較する必要があります。2種類のファイルに対して大量のフォルダを検索し、サイズを比較するにはどうすればよいですか?

Get-ChildItem -Path C:\SharedFolders\ -Recurse | ?{$_.Extension -eq ".qbw"} 

私は、最初のアイテムを取得することができますが、私は、同じディレクトリ内のファイルに

を比較するためにそれを伝える方法がわからないんだけど、私は別のコマンドに渡すべきにや配列で作業をしてみてください?

+0

を私は配列を試みたが、原因に彼らが同じように出てきていないいくつかのパスのもの。 – tekno45

+0

究極の目標は、.qbwを見つけて同じフォルダ内の.tlgと比較することです。 – tekno45

+0

.tlgファイルは.qbwファイルと同じ名前か、各フォルダ内に1つの.tlgファイルしかありませんか? –

答えて

0

あなたは例えば次のように、ForEach-Objectループを必要とする:.tlgと.qbwファイルが同じベース名を使用して、このようなものがある場合は

$root = 'C:\SharedFolders' 
Get-ChildItem -Path $root -Filter '*.qbw' -Recurse | ForEach-Object { 
    $tlg = Get-ChildItem $_.Directory -Filter '*.tlg' | Select -First 1 
    if ($tlg) { 
    Compare-Object $_ $tlg 
    } 
} 

$root = 'C:\SharedFolders' 
Get-ChildItem -Path $root -Filter '*.qbw' -Recurse | ForEach-Object { 
    $tlgpath = $_.FullName -replace '\.qbw$', '.tlg' 
    If (Test-Path -LiteralPath $tlgpath) { 
    $tlg = Get-Item $tlgpath 
    Compare-Object $_ $tlg 
    } 
} 
+0

私はこれを試しましたが、出力を返しません。 – tekno45

+0

nvm間違ったフォルダのhaha。 – tekno45

関連する問題