0

現在、 Localという名前のフォルダー内のすべてのファイルを削除しようとしています。以下のスクリプトはこれを行いますが、PowerShell ウィンドウでユーザーにプロンプ​​トを表示します。フラグを追加すると-Force、スクリプトはすべてのフォルダー内のすべてのファイルを削除します。Localフォルダー内のすべてのファイルを削除し、ユーザーにプロンプ​​トを表示しない方法がわかりません。以下は問題のスクリプトです。

$Path = "C:\Program Files (x86)\folder1\folder2\"

Function Clear-Cache
{
    Get-ChildItem 'C:\Users\Admin\Documents\GI Studies' -File -Recurse | Where-Object {$_.FullName -match "data\\local"} | % {del $_.FullName #-Force}
}

Clear-Cache
4

3 に答える 3

3

最初に、ファイルを削除するディレクトリを再帰的に検索してから、それぞれのファイルを非再帰的に削除することができます。

Function Clear-Cache
{
    $localFolders = Get-ChildItem 'C:\Users\Admin\Documents\GI Studies' -Directory -Recurse | Where-Object {$_.FullName -match 'data\\local$'}

    $localFolders |% { dir $_.FullName -File | del -Force }
}

FullNameファイル検索時のディレクトリ の編集

于 2013-07-29T21:01:50.370 に答える
0

.NET Delete() 関数を使用することもできます。確認は求められません。

$Path = "C:\folder"
$exclude = "file1.txt","file2.txt"

Get-ChildItem -Path $Path -Include * -Exclude $exclude -Recurse | foreach {
    $_.Delete()
}
于 2014-11-19T09:34:21.743 に答える