私は次のコマンドを実行しています:
get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname}
これは私に非常に頻繁にこのように促します:
Confirm
The item at C:\temp\f\a\d has children and the Recurse parameter was not specified. If you continue,
all children will be removed with the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
自動的に「A」に設定するにはどうすればよいですか?
-Force
でRemove-Item
パラメーターを使用してみてください。
デフォルトは次のとおりです。プロンプトなし
-Confirm
で有効にするか、-Confirm:$false
でdisableで有効にできます
ただし、ターゲットが次の場合、プロンプトが表示されます。
-Recurse
パラメーターが指定されていません。-Force
は、隠しアイテムや読み取り専用アイテムなども削除する必要があります。
要約すると:
Remove-Item -Recurse -Force -Confirm:$false
...すべてのシナリオをカバーする必要があります。
-confirm:$ falseを追加して、確認を抑制します。
Remove-itemの後に-recurseを追加します。また、-forceパラメーターは隠しファイルの削除に役立ちます。例:
gci C:\ temp\-exclude * .svn-base、 "。svn" -recurse | %{ri $ _ -force -recurse}
Remove-Item .\foldertodelete -Force -Recurse
行の後ろに/A
を追加するだけです。
例:
get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname} /a