Ответ 1
Попробуйте использовать параметр -Force
на Remove-Item
.
Я запускаю следующую команду:
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
Тем не менее, он все равно подскажет, когда цель:
-Recurse
не указан. -Force
требуется также для удаления скрытых и доступных только для чтения элементов и т.д.
Подвести итог:
Remove-Item -Recurse -Force -Confirm:$false
... должны охватывать все сценарии.
Добавьте -confirm: $false, чтобы подавить подтверждение.
Добавить -recurse после элемента remove, также параметр -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