Подтвердить что ты не робот

Автоматическое подтверждение удаления в 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"?

4b9b3361

Ответ 1

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

Ответ 2

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

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

Тем не менее, он все равно подскажет, когда цель:

  • это каталог
  • и это не пусто
  • и параметр -Recurse не указан.

-Force требуется также для удаления скрытых и доступных только для чтения элементов и т.д.

Подвести итог:

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

Remove-Item .\foldertodelete -Force -Recurse

Ответ 6

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

Пример:

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