[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样删除第二级目录下子文件夹?

本帖最后由 acmilanxr 于 2012-12-6 09:15 编辑

RT,目录结构如下:
D:\A\B
D:\A\C
D:\A\D
.......

在A目录下有多个文件夹,现在要求删除B、C、D等二级目录下的子文件夹,但要保留这些二级目录,自己写好后测试结果发现用下面的代码运行后,B、C、D这些二级目录会被删除,后来尝试加上rd /s /q "%%j" && md "%%j",但这样之前二级目录上的权限就全被清除了,所以还有没有别的办法可以在保留二级目录的情况下删除其内的子文件夹么,代码该如何修改?(那个tree.txt文件是用来保存第二级目录的名字用,方便下面的for循环)
  1. @echo off
  2. set server=D:\NASDATA\
  3. set nastree=D:\leisure\tree.txt
  4. for /f %%i in (%nastree%) do (
  5. echo ***Ready to delete %%i***
  6. @pause
  7.    for /d %%j in (%server%%i) do (
  8.    rd /s /q "%%j"
  9.    del /a /f /q "%%j"
  10.   )
  11. )
  12. @pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /d %%a in (D:\A\*) do (
  3.     for /d %%b in (%%a\*) do (
  4.         rd /s /q "%%b"
  5.     )
  6. )
复制代码
1

评分人数

TOP

回复 2# BAT-VBS


可以了,谢谢。

TOP

回复 2# BAT-VBS


还有个问题请教下,如果我要删除B、C、D里面的隐藏文件夹,代码如何写,rd貌似做不到这点。

TOP

ATTRIB -S -H <目录>
RD/S/Q  <目录>
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 4# acmilanxr


    5楼正解

TOP

返回列表