删除2级子文件夹但保留1级子文件夹

时间:2017-03-13 10:34:57

标签: windows batch-file delete-file subdirectory

我的问题是我们有不同子文件夹的网络共享,具有ACL权限等。

我需要保留第一级,但也需要删除这些文件夹中的所有内容。

share:\Test1\Test11\... share:\Test1\Test12\... share:\Test2\Test21\... share:\Test2\Test22\... share:\Test3\Test31\... share:\Test3\Test32\... share:\Test...

结果如下: share:\Test1\ share:\Test2\ share:\Test3\ share:\Test...

我找到了一个根文件夹的解决方案,但我有多个不同的名称,并非所有都是testxxx。

感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

  • 迭代第一级文件夹
  • 使用PushD / PopD
  • 进出文件夹
  • 发出RD /S /Q . 2>NUL这将删除所有文件和文件夹,并尝试删除当前文件夹将失败的内容,从而将错误输出重定向重新定向到NUL
@Echo off
Pushd "share:\"
For /F "delims=" %%A in ('dir /B/AD') Do (
  Pushd "%%~A"
  RD /S /Q . 2>NUL
  PopD
)
PopD