Автоматическое подтверждение удаления в powershell - PullRequest
29 голосов
/ 21 января 2011

Я запускаю следующую команду:

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"?

Ответы [ 6 ]

35 голосов
/ 13 февраля 2014

По умолчанию: без приглашения.

Вы можете включить его с помощью -confirm или , отключить с помощью -confirm:$false

Однако, он по-прежнему будет запрашивать, когда цель:

  • является каталогом
  • и не является пустым
  • и параметр -recurse не указан.

Подводя итог:

Remove-Item -recurse -force -confirm:$false

... должен охватывать все сценарии.

28 голосов
/ 21 января 2011

Добавить -подтверждение: $ false , чтобы подавить подтверждение.

22 голосов
/ 21 января 2011

Попробуйте использовать параметр -Force на Remove-Item.

8 голосов
/ 14 июня 2012

Добавьте -recurse после элемента remove, также параметр -force помогает удалить скрытые файлы, например:

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

6 голосов
/ 11 июля 2016
Remove-Item .\foldertodelete -Force -Recurse
0 голосов
/ 15 июля 2015

Вам просто нужно добавить /A за линией.

Пример:

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