例如:
我在目录中:
数据目录
在这个目录中,我有四个目录:
F:\数据>目录
22179 22915 23459 23460
这些目录包含各种内容,包括目录和文件。我尝试运行类似以下操作:
rmdir /s *\*
我删除了这些编号目录中的所有内容,同时保留空目录。有没有一行代码可以做到这一点,还是我必须循环遍历子目录?
答案1
(for /d %A in (*) do @for /d %B in ("%A\*") do @rd /s /q "%~B")&del /s /q *.* >nul
它只有一行代码 - 但我认为它并不简单。它循环遍历树的前两层,但更深的层将被删除,而无需更多循环。如果在批处理文件中,则 %A 和 %B 变为 %%A 和 %%B
我不确定您是否想从根目录(在您的例子中是 F:\data)删除所有文件。上述操作将删除根目录中的文件。
如果你想保留根目录中的文件,那么我认为这应该可行(我没有测试过这个)
for /d %A in (*) do @(@for /d %B in ("%A\*") do @rd /s /q "%~B")&@del /q "%A\*.* >nul
可以从这两组代码中删除 @ 符号 - 它们只是为了防止命令的每个级别被回显。
答案2
试试这个我认为这会有所帮助......
RD /s /q(然后是要删除的文件夹的路径)
它将删除文件夹本身的所有内容
答案3
DEL /S /Q *.*
对你有用吗?