找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21847|回复: 2

[文本处理] [已解决]批处理如何按文件大小筛选文件?

[复制链接]
发表于 2011-11-25 00:16:54 | 显示全部楼层 |阅读模式
本帖最后由 fanfande 于 2011-11-26 16:26 编辑

比如一个文件夹里面的文件,有大有小,大的有几M,小的只有几K,文件仅限htm,只读取大小!
想用用批处理按文件的大小来筛选文件
当小于2k的删除
当大于12k的删除
也就是取2-12k之间的文件(注意运行到结束不要把自己也删了,因为bat很小啊)!

我这样写为啥运行下来全部把文件删除了呢,一些符合大小区间的也被删除了
  1. for %%a in (*.htm) do (
  2.    if %%~za lss 2048 del "%%a"
  3.    if %%~za gtr 12288 del "%%a"
  4. )
  5. pause
复制代码
请问:2048是不是代表2kb
12288是不是代表12kb

可是我运行下来,13kb的竟然还活着
发表于 2011-11-25 00:30:03 | 显示全部楼层
for /f "delims=" %%a in ('dir /b /a-d *.htm^|findstr /v ".......\.htm$"') do del %%a

去掉试试
发表于 2011-11-25 14:04:33 | 显示全部楼层
扩展参数得出来的是文件的大小,但windows一般显示的是文件占用空间(12kb的文件可能占用空间是13kb)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 15:35 , Processed in 0.016057 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表