中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 14:39
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎样有选择性的删除文件?谢谢!
可打印版本  2,316 / 17
第1楼 q1a2z3q1a2z3 发表于 2008-08-15 12:34
初级用户 发帖 41 积分 88
怎样有选择性的删除文件?谢谢!
1、例如删除c:\xx文件夹及子文件夹中除.jpg外所有的文件

2、删除体积小于xx大小和尺寸小于xx的图片

谢谢!
第2楼 q1a2z3q1a2z3 发表于 2008-08-15 14:33
初级用户 发帖 41 积分 88
那位高手出现啊
第3楼 moniuming 发表于 2008-08-15 14:57
银牌会员 发帖 574 积分 1,335 来自 广西
试试这个?
当测试成功后,确认删除,把"echo"去掉,例子中为删除小于100K的jpg文件.
尺寸无法获得.
第4楼 q1a2z3q1a2z3 发表于 2008-08-15 15:58
初级用户 发帖 41 积分 88
多谢楼上了!


如果是删除c:\xx文件夹及子文件夹中除.jpg、clock.exe和desktop.ini外所有的文件?
第5楼 HAT 发表于 2008-08-15 16:13
版主 发帖 5,017 积分 9,023
if not "%%~xa"==".jpg"
你能看懂这句的话,跟着往后面加条件就是了。
第6楼 q1a2z3q1a2z3 发表于 2008-08-15 16:47
初级用户 发帖 41 积分 88
不知怎样加条件?

if not "%%~xa"==".jpg .gif"
还是if not "%%~xa"==".jpg & .gif"

都不行。
第7楼 HAT 发表于 2008-08-15 16:51
版主 发帖 5,017 积分 9,023
第8楼 q1a2z3q1a2z3 发表于 2008-08-15 17:18
初级用户 发帖 41 积分 88
高手能不能把代码全部写全。自己试了一下语法不对
第9楼 HAT 发表于 2008-08-15 17:47
版主 发帖 5,017 积分 9,023
你是这样写的吗?
第10楼 q1a2z3q1a2z3 发表于 2008-08-15 17:56
初级用户 发帖 41 积分 88
除了jpg文件外,还是删除了所有文件
第11楼 flyinspace 发表于 2008-08-15 18:00
银牌会员 发帖 517 积分 1,206
好麻烦:

用非真集合啊。

for /f "tokens=* " %%i in ('dir /b /s ^| findstr /i /v /r ".jpg$ clock.exe$ dosktop.ini$"') do del /f /q "%%i"
第12楼 ThinKing 发表于 2008-08-15 18:02
中级用户 发帖 207 积分 471
Originally posted by flyinspace at 2008-8-15 06:00 PM:
好麻烦:

用非真集合啊。

for /f "tokens=* " %%i in ('dir /b /s ^| findstr /i /v /r ".jpg$ clock.exe$ dosktop.ini$"') do del /f /q "%%i"

注意转义万能字符哦。
第13楼 q1a2z3q1a2z3 发表于 2008-08-15 18:07
初级用户 发帖 41 积分 88
for /f "tokens=* " %%i in ('dir /b /s "c:\xx\*.*"' ^| findstr /i /v /r ".jpg$ clock.exe$ dosktop.ini$"') do del /f /q "%%i"


提示找不到路径?
第14楼 HAT 发表于 2008-08-15 18:13
版主 发帖 5,017 积分 9,023
Re 10楼
dir /s /b得到的是全路径,自己修改一下就行了。
第15楼 flyinspace 发表于 2008-08-15 18:47
银牌会员 发帖 517 积分 1,206
Originally posted by q1a2z3q1a2z3 at 2008-8-15 06:07 PM:
for /f "tokens=* " %%i in ('dir /b /s "c:\xx\*.*"' ^| findstr /i /v /r ".jpg$ clock.exe$ dosktop.ini$"') do del /f /q "%%i"


提示找不到路径?


仔细看了一下,原来是你语法错误。。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023