2016-05-15 9 views
0

以下に示すように、テキストファイルに1行ずつ保存したpdfファイル名のリストがあります。特定の名前を含むフォルダ内のパワーシェル表示ファイル

322223491.pdf 
322223492.pdf 
322223493.pdf 

テキストファイルの名前はinclusions.txtです。

私は変数にこれを渡しています:

$inclusion = get-content .\inclusions.txt 

は、今私がチェックしたフォルダ(C:\users\xyzが)私はそれを行うのですか$inclusions変数に渡されたファイルが含まれている場合に表示したいですか?

PS C:\users\xyz> Get-childitem 

コマンドは次の

Mode  LastWritetime Name 

Name列は、私は私の介在物リストを比較したいし、そのリストで見つかったならば、私はそれらを表示するには、私が興味のプロパティですが表示されますPowerShellの端子に

PS C:\users\xyz> Get-childitem | Select-Object -Property Name 

は限り私はそれのまわりで私の頭を持っていると私はwが、それを比較することにより、フィルタリングされたデータを表示するには、さらに進行する方法を知りませんで変数$inclusionsがあります。

さらに、ファイルがインクルーシブテキストファイルの名前と一致する場合、ファイルを削除したいと思います。したがって、フォルダー内のすべてのファイルを通過する最後のObjectiveは、名前が包含リストと同じかどうかを比較し、そうであればそれらの特定のファイルを削除します。

ご協力いただければ幸いです。条件にフィルタリングする

感謝

答えて

0

使用Where-Object

Get-ChildItem |Where-Object { $inclusion -contains $_.Name } 

あなたはファイル名そのものにのみ関心がある場合は、各ファイルの名前だけつかむためにSelect-Object -ExpandPropertyを使用します。

Get-ChildItem |Where-Object { $inclusion -contains $_.Name } |Select-Object -ExpandProperty Name 

特定のフォルダに$inclusionのファイルが1つ以上含まれているかどうかに基づいて何かを実行する場合は、 ifステートメント:

$folderPath = "C:\users\xyz\folder\of\interest" 
if(@(Get-ChildItem $folderPath |Where-Object {$inclusion -contains $_.Name}).Count -ge 1) 
{ 
    Write-Host "Folder $folderPath contains at least one of the inclusion files" 
} 
+0

ありがとう、マティアス。それは魅力のように働いた。あなたの助けに感謝 :) – Pynewbie

関連する問題