2016-06-27 4 views
1

私の質問は、フォルダBには存在しないフォルダAからのファイルの名前を印刷する方法です。異なるファイル拡張機能。どのようにフォルダBからフォルダBに入っていないファイルをGet-ChildItemを使用して選択するのですか

フォルダAからのファイルのファイル拡張子は.xlsxであり、フォルダBからのファイルのファイル拡張子は.txtです。

enter image description here

フォルダAが3つの.xlsxファイルがあります。

はここで視覚的に表現したものです。

enter image description here

フォルダBは2つの.txtファイルを持っています。

私の所望の出力は、それがここでフォルダBに

存在しないので、GHI.xlsxファイル名を印刷することで、私は現在で働いているものです:あなたはBaseNameプロパティをフィルタリングすることができ

#Get list of files 
$Files = Get-ChildItem '\C:\My Documents\Folder A\*.xlsm' ` 
    -Exclude 'C:\My Documents\Folder B\*.txt' 

foreach($File in $Files) { 
    $Filename = $File.BaseName 
    echo $Filename 
} 

答えて

1

Where-Objectコマンドレットを使用して:

$folderA = Get-ChildItem 'C:\My Documents\Folder A' -File 
$folderB = Get-ChildItem 'C:\My Documents\Folder B' -File | 
    select -ExpandProperty BaseName) 

$folderA | Where-Object BaseName -NotIn $folderB | 
    select -ExpandProperty Name 
+0

は全く...要件、私はいくつかのより多くのコーヒーを買ってあげることを逃しました:)それは常にあまりにも;-)私はパフォーマンスをimprooveために私の答えを更新しましたブランドル – sodawillow

+0

は、あなたはこれを試してください。受け入れてくれてありがとう。 –

+1

私に起こる@sodawillow –

関連する問題