![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 20:09 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何删除目录下的非rar文件? |
| 可打印版本 1,847 / 15 |
| 第1楼 lvjing79 | 发表于 2007-12-05 15:14 |
| 初级用户 发帖 15 积分 36 | |
|
如何删除目录下的非rar文件? 目录下面有很多文件,包括rar文件,现在只想保留rar文件,其它都删除。
我知道如果删除rar文件的话用 for /r %a in (*.rar) do @del /s/q %a 就可以,但要保留rar而删除其它文件有没有好办法呢? |
|
| 第2楼 uemuem | 发表于 2007-12-05 16:26 |
| 初级用户 发帖 68 积分 153 来自 上海 | |
|
[ Last edited by uemuem on 2007-12-5 at 06:53 PM ] |
|
| 第3楼 lvjing79 | 发表于 2007-12-05 18:17 |
| 初级用户 发帖 15 积分 36 | |
|
谢谢,回去学习!
|
|
| 第4楼 lvjing79 | 发表于 2007-12-05 18:50 |
| 初级用户 发帖 15 积分 36 | |
Originally posted by uemuem at 2007-12-5 04:26 PM: 我发现此方法虽然可行,但效率比较低! 因为dir命令在屏幕上显示内容会花时间,从dir命令输出的字符串来截取进行操作也是比较慢。 我曾经用的方法是为该目录下的所有文件去除隐藏属性 attrib +H *.* /S 然后再把rar文件增加隐藏属性 attrib -H *.rar /S 最后删掉带有隐藏属性的文件就可以了。 速度自然是快很多,特别是该目录下有很多rar文件,且不一定在根目录的时候,效率高不少。 但就想知道除了这个方法外,还有没有其它的方法能比较快速的解决这个问题的? |
|
| 第5楼 uemuem | 发表于 2007-12-05 18:52 |
| 初级用户 发帖 68 积分 153 来自 上海 | |
Originally posted by lvjing79 at 2007-12-5 18:50: 这是个好主意,不过文件量大的话估计效率也不会太高吧,不太具通用性。 [ Last edited by uemuem on 2007-12-5 at 07:13 PM ] |
|
| 第6楼 lvjing79 | 发表于 2007-12-05 19:27 |
| 初级用户 发帖 15 积分 36 | |
|
这也是我想请教还有没有更好的方法的原因。
|
|
| 第7楼 lvjing79 | 发表于 2007-12-05 19:30 |
| 初级用户 发帖 15 积分 36 | |
Originally posted by uemuem at 2007-12-5 04:26 PM: 另外我想请教,delims=/ 是指分隔符是'/'吧?那'dir /b/s *.*' 出来的结果里面有'/'这个符号吗?好像都是'\'吧? |
|
| 第8楼 huahua0919 | 发表于 2007-12-05 19:53 |
| 银牌会员 发帖 780 积分 1,608 | |
|
分割符/是不显示,只显示/前面的内容
|
|
| 第9楼 abcd | 发表于 2007-12-05 20:26 |
| 银牌会员 发帖 739 积分 1,436 | |
|
@echo off
for /f "delims=" %%i in ('dir /a/b/s *.*') do if /i not "%%~xi"==".rar" del /a/q"%%i" |
|
| 第10楼 lvjing79 | 发表于 2007-12-06 10:39 |
| 初级用户 发帖 15 积分 36 | |
Originally posted by abcd at 2007-12-5 08:26 PM: 嗯,看来不错,回去试验一下,多谢! |
|
| 第11楼 dooomer | 发表于 2007-12-08 10:02 |
| 初级用户 发帖 52 积分 109 | |
|
生成一个文件夹,把rar文件拷入,然后把剩下来的文件全部删除,再把rar文件拷出来,把刚才生成的文件夹删除,这样子不就行了。
|
|
| 第12楼 terse | 发表于 2007-12-08 14:34 |
| 银牌会员 发帖 946 积分 2,404 | |
|
不用 find 用IF怎么样
|
|
| 第13楼 yangzhiyi | 发表于 2007-12-08 16:10 |
| 中级用户 发帖 123 积分 261 | |
Originally posted by dooomer at 2007-12-8 10:02: 这个最实际,应该说 移入和移出,拷字应该是复制 |
|
| 第14楼 terse | 发表于 2007-12-08 16:28 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off
for /r %%i in (*.*) do ( if not "%%i"==%0 if not "%%~xi"==".rar" del /a/f/q "%%i" ) pause |
|
| 第15楼 vkill | 发表于 2007-12-10 23:01 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |