繁体   English   中英

如何在 Powershell 中自动回答“是”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM