web-dev-qa-db-ja.com

PowerShellでの削除の自動確認

私は次のコマンドを実行しています:

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」に設定するにはどうすればよいですか?

31
siliconpi

-ForceRemove-Itemパラメーターを使用してみてください。

22
Keith Hill

デフォルトは次のとおりです。プロンプトなし

-Confirmで有効にするか、-Confirm:$falsedisableで有効にできます

ただし、ターゲットが次の場合、プロンプトが表示されます。

  • ディレクトリです
  • and空ではない
  • and-Recurseパラメーターが指定されていません。

-Forceは、隠しアイテムや読み取り専用アイテムなども削除する必要があります。

要約すると:

Remove-Item -Recurse -Force -Confirm:$false

...すべてのシナリオをカバーする必要があります。

39
marsze

-confirm:$ falseを追加して、確認を抑制します。

30
mjolinor

Remove-itemの後に-recurseを追加します。また、-forceパラメーターは隠しファイルの削除に役立ちます。例:

gci C:\ temp\-exclude * .svn-base、 "。svn" -recurse | %{ri $ _ -force -recurse}

9
Tamas Szabo
Remove-Item .\foldertodelete -Force -Recurse
6
Alberto Perez

行の後ろに/Aを追加するだけです。

例:

get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname} /a
0
Gerald Liew