中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-30 09:47
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,279 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]用批处理删除所有分区下的空文件夹
可打印版本  1,561 / 10
第1楼 jy02116916 发表于 2009-02-04 15:02
初级用户 发帖 37 积分 68
[求助]用批处理删除所有分区下的空文件夹
我自己想出的命令是



用第一句命令是用于按顺序排列出所有分区下文件夹,用文本的方式放到临时目录的dir.txt中,第二句是用于删除的,因为rd命令不添加任何参数话只会删除空的目录,但是由于一些文件夹名称是带空格的,如(Documents and Settings,Program Files等),要用rd命令执行删除这些文件夹中的内容都必须添加上“""”引号,我的问题就是如何让列出的目录名全部添加上""号,删除调用rd "%%b"是不可以的,我试过。

[ Last edited by jy02116916 on 2009-2-4 at 15:04 ]
第2楼 cad55 发表于 2009-02-04 15:23
高级用户 发帖 329 积分 620
for /f "tokens=*" %%a in ('dir /b /ad /s "z:\"^|sort /r') do rd "%%a" 2>nul
删除z盘下所有空文件夹
第3楼 jy02116916 发表于 2009-02-04 16:54
初级用户 发帖 37 积分 68
cad55的命令只能删除z盘下的空文件夹 而且碰到带空格的文件夹名称就没有效果了

我的问题主要是想问在运行for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do dir /ad/b/s "%%a\" | sort /r >>%temp%\dir.txt命令后,如何在dit.txt中每一行中首尾添加""

[ Last edited by jy02116916 on 2009-2-4 at 16:59 ]
第4楼 andison625 发表于 2009-02-04 18:15
初级用户 发帖 36 积分 70
这个,放到WORD里编辑一下,用 "^p" 替换所有 ^p
然后在第一行前加个 ",删除最后一行的"
第5楼 HAT 发表于 2009-02-04 18:51
版主 发帖 5,017 积分 9,023
Re 4楼
这里是批处理版,不是WORD版,应该首先考虑批处理吧^_^
第6楼 netbenton 发表于 2009-02-04 21:23
银牌会员 发帖 752 积分 1,916 来自 广西
::这样可以直接删除了,如果要存到 %temp%\dir.txt
::把 rd "%%~fi"改成:echo."%%~fi">>%temp%\dir.txt

@echo off
for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do (for /f "delims=" %%i in ('dir /ad/b/s "%%a"') do rd "%%~fi")
第7楼 lhm6686 发表于 2009-02-05 02:49
新手上路 发帖 1 积分 1
长见识了
第8楼 jy02116916 发表于 2009-02-05 11:13
初级用户 发帖 37 积分 68
谢谢netbenton提供的方法 不过你的命令可能有些问题 运行后提示找不到文件 我把我的命令改成这样就可以了。for命令嵌套的话问题还是挺多的。



[ Last edited by jy02116916 on 2009-2-5 at 11:31 ]
第9楼 tempuser 发表于 2009-02-05 16:54
高级用户 发帖 261 积分 547
如何判断空文件夹呢?是通过
sort /r
命令吗?我在CMD下 sort /?没有看到 /r的具体解释,能给解释一下吗?
第10楼 tempuser 发表于 2009-02-05 16:59
高级用户 发帖 261 积分 547
知道了!
哈哈,我只看八楼代码!不清楚sort /r什么意思,竟然忽略了rd只能删除空目录,不好意思!
第11楼 netbenton 发表于 2009-02-05 20:55
银牌会员 发帖 752 积分 1,916 来自 广西
^_^
正如楼上说的,rd只删除空目录,虽然提示出错,但是结果是对的,如果你不想看到错误提示,可以在后面加>nul
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023