![]() |
中国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 |