中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 01:36
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 自动判断文件夹是否为空。是空文件夹则删除!
可打印版本  4,320 / 16
第1楼 eckert 发表于 2008-02-22 00:47
初级用户 发帖 14 积分 41
自动判断文件夹是否为空。是空文件夹则删除!
自动判断文件夹是否为空。是空文件夹则删除!

for /l %%a in (1,1,3) do for/r %%i in (.) do rd %%~si

帮我看看这个有没有什么错误。。

可以用在LJ 文件清理里面么?
第2楼 lotus516 发表于 2008-02-23 00:53
高级用户 发帖 246 积分 551
for /f "tokens=*" %%a in ('dir /b /ad /s "l:\"^|sort /r') do rd "%%a" 2>nul
第3楼 cad55 发表于 2008-02-23 09:26
高级用户 发帖 329 积分 620
Originally posted by lotus516 at 2008-2-23 12:53 AM:
for /f "tokens=*" %%a in ('dir /b /ad /s "l:\"^|sort /r') do rd "%%a" 2>nul



高手呀....

再请问一下..

怎样搜索删除.0字节的所有类型的文件.
第4楼 zyz0304360 发表于 2008-02-23 11:33
中级用户 发帖 123 积分 257 来自 烟台
的确厉害
学习了
致敬
0字节的所有类型的文件
用FOR中的%%~z扩展文件大小
%%~zi=0就是0字节i
第5楼 zyz0304360 发表于 2008-02-23 11:40
中级用户 发帖 123 积分 257 来自 烟台
请问
for /f "tokens=*" %%a in ('dir /b /ad /s "l:\"^|sort /r') do rd "%%a" 2>nul

"l:\"
这个是什么意思啊?
这里我不懂,能指点一下吗?
十分感谢
第6楼 cad55 发表于 2008-02-23 12:16
高级用户 发帖 329 积分 620
Originally posted by zyz0304360 at 2008-2-23 11:40 AM:
请问
for /f "tokens=*" %%a in ('dir /b /ad /s "l:\"^|sort /r') do rd "%%a" 2>nul

"l:\"
这个是什么意思啊?
这里我不懂, ...




是要删文件夹的当前盘符.......


哪个0字节..你再说说.....

没有听懂..........
第7楼 abcd 发表于 2008-02-23 13:01
银牌会员 发帖 739 积分 1,436
就是利用rd命令的特性,在删除0字节文件夹时不会提示出错
第8楼 zyz0304360 发表于 2008-02-23 13:05
中级用户 发帖 123 积分 257 来自 烟台
@echo off
for /f "tokens=*" %%i in ('dir /b *.* ^|sort /r') do if %%~zi==0 del /f /q "%%~ni.*"
pause

[ Last edited by zyz0304360 on 2008-2-23 at 01:18 PM ]
第9楼 zyz0304360 发表于 2008-02-23 13:26
中级用户 发帖 123 积分 257 来自 烟台
Originally posted by cad55 at 2008-2-23 12:16 PM:




是要删文件夹的当前盘符.......


哪个0字节..你再说说.....

没有听懂..........



是要删文件夹的当前盘符.......

我执行
dir /b /ad /s "|:\"
就会报错
找不到指定路径啊

比如有这样一个文件
C:aa\aa\aa
盘符是怎么删的?
这样?
C:aa\aa\aa |:\

我是菜鸟,目前只懂这个
set a=C:aa\aa\aa
set a=%a:\=%

上面的不懂还请指点,谢谢了
第10楼 duansuo 发表于 2008-02-23 15:07
新手上路 发帖 2 积分 4
有没有人能完整的解释下啊,还是有点不懂啊

谢谢拉!
第11楼 abcd 发表于 2008-02-23 16:50
银牌会员 发帖 739 积分 1,436
Originally posted by zyz0304360 at 2008-2-23 01:26 PM:



是要删文件夹的当前盘符.......

我执行
dir /b /ad /s "|:\"
就会报错
找不到指定路径啊

比如有这样一个文件
C:aa\aa\aa
盘符是怎么删的 ...

把"|:\"
去掉就表示当前盘符

把"|:\"替换为自己的路径即可
第12楼 cad55 发表于 2008-02-23 17:04
高级用户 发帖 329 积分 620
Originally posted by duansuo at 2008-2-23 03:07 PM:
有没有人能完整的解释下啊,还是有点不懂啊

谢谢拉!



比如:你要删C盘下.空文件夹:
for /f "tokens=*" %%a in ('dir /b /ad /s "c:\"^|sort /r') do rd "%%a" 2>nul



你要删d盘下.空文件夹:
for /f "tokens=*" %%a in ('dir /b /ad /s "d:\"^|sort /r') do rd "%%a" 2>nul

[ Last edited by cad55 on 2008-2-23 at 05:14 PM ]
第13楼 Nickey 发表于 2008-02-23 17:15
初级用户 发帖 59 积分 132 来自 GuangZhou
为什么将2#的

改为:

写入记事本的却是所有文件夹呢?
第14楼 abcd 发表于 2008-02-23 17:18
银牌会员 发帖 739 积分 1,436
Originally posted by Nickey at 2008-2-23 05:15 PM:
为什么将2#的

改为:
第15楼 zyz0304360 发表于 2008-02-23 18:06
中级用户 发帖 123 积分 257 来自 烟台
Originally posted by Nickey at 2008-2-23 05:15 PM:
为什么将2#的

改为:
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023