2017-05-02 5 views
1

ディレクトリツリーで2つのファイルを検索して削除しようとしています。 に、を削除したファイルのパスを保存します。ファイルを検索し、そのパスを変数に保存します。

はこれまでのところ、それは私が持っているものです。

#set the path to search for the file 
$path = ".\" 

#File name 
$file = "GeneratedCode.cs" 
$file2 = "TypedEnums.cs" 

#Look for the file and delete every instance of it in all directories. 
Get-Childitem $path -include $file -recurse | foreach ($_) {remove-item $_.fullname} 



#Look for the file and delete every instance of it in all directories. 

Get-Childitem $path -include $file2 -recurse | foreach ($_) {remove-item $_.fullname} 

EDIT: 私は、ファイルのすべてのインスタンスを削除することを言及するのを忘れてしまいました。

答えて

2

$filesToDeleteという変数にGet-ChildItemコマンドレットの結果を格納します。そして、あなたは簡単なパイプRemove-Itemコマンドレットにオブジェクトは、(あなたはそこforeach必要はありません)でした:

$filesToDelete = Get-Childitem $path -include $file -recurse 
$filesToDelete | Remove-Item 
+0

は私がするforeachを使用している理由ですので、ファイルのすべてのインスタンスを削除する(質問編集しました。 ) –

+0

これは、ファイルのすべてのインスタンスも削除します。 –

+0

私はファイルを削除するために$ file2と$ filesToDeleteと$ filesToDelete2のように2つの変数を作る必要がありますか?ファイルはすべてのフォルダにまとめられているためです。 –

関連する問題