[英]How do I automatically answer “yes” in Powershell?
如何自动对 Powershell 中的提示回答“是”?
Write-Host "Deleting all files and subfolders..."
Get-ChildItem -Path C:\Users\333\Downloads -Recurse | Remove-Item
Get-ChildItem -Path C:\Users\333\Desktop -Recurse | Remove-Item
Get-ChildItem -Path C:\Users\333\Documents -Recurse | Remove-Item
Clear-RecycleBin -Force
Write-Host "Done!"
为了避免在使用Remove-Item
删除非空目录时出现确认提示:
-Recurse
开关-Force
开关。简而言之:
Remove-Item -Recurse -Force $someDirectory
悄悄地删除目录$someDirectory
本身(总是与它的所有内容)
Remove-Item -Recurse -Force $someDirectory\*
仅删除其内容(连同任何子目录,递归地)。
警告:在较早的 Windows 版本中,在 Windows 10 20H2 之前,文件删除本质上是异步的,这意味着此类递归调用有时会失败 - 请参阅此答案。
因此,在您的情况下,您甚至不需要Get-ChildItem
- 只需使用Remove-Item
删除目标目录的内容(包括子目录) - 通过附加通配符表达式\*
- 您甚至可以使用单次调用,假设支持输入路径的arrays 。
在原始代码的上下文中:
Write-Host "Deleting all files and subfolders..."
Remove-Item -Recurse -Force -Path C:\Users\333\Downloads\*, C:\Users\333\Desktop\*, C:\Users\333\Documents\*
Clear-RecycleBin -Force
Write-Host "Done!"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.