【问题标题】:delete folder and contents with Powershell使用 Powershell 删除文件夹和内容
【发布时间】:2020-06-30 12:06:17
【问题描述】:

我正在尝试删除用户文件夹的内容。它适用于文件,但会留下文件夹。我怎样才能随身​​携带文件夹?这是我使用 powershell 尝试过的:

$folders = @(
"C:\Users\*\Downloads\*",
"C:\Users\*\Downloads\*.*", 
"C:\Users\*\Documents\*.*", 
"C:\Users\*\Documents\*.*", 
"C:\Users\*\Pictures\*",
"C:\Users\*\Pictures\*.*",
"C:\Users\*\Desktop\*",
"C:\Users\*\Desktop\*.*",
"C:\Users\*\Videos\*",
"C:\Users\*\Videos\*.*")
foreach ($folder in $folders) {Remove-Item $folder -force -recurse -ErrorAction SilentlyContinue}
exit 0

如何获取这些文件夹中的父文件夹及其子元素?我想要完整的空文档、桌面等。

【问题讨论】:

  • 如果我为一个文件夹运行该命令,它将删除该文件夹下的所有内容以及该文件夹本身。这不是你想要的吗?
  • 真的吗?这很奇怪。因为对我来说,我的文档中有一个文件夹,它没有触及,但它确实删除了文档根目录中的文件。
  • 删除 -ErrorAction 并查看完整输出。确认您有权删除它。
  • 我通过具有提升权限的第 3 方工具运行它。它也应该删除文件夹
  • @ZK-2500z “应该”是的,但事实并非如此。所以请像 Taylor 建议的那样打开任何错误报告并查看它们。不一定是权限问题,但可能是特殊字符?错误信息会告诉你...

标签: powershell recursion parent-child


【解决方案1】:

我明白了,我注意到我的脚本有点愚蠢:

"C:\Users*\Documents*.", "C:\Users*\Documents*.",

rip,那是我正在使用的文件夹.. RIP!我把它改成

"C:\Users*\Documents*", "C:\Users*\Documents*.*",

现在可以了!!谢谢

【讨论】:

    猜你喜欢
    • 2014-06-15
    • 2021-08-16
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多