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

[文件操作] 批处理怎么查找固定大小的文件?

[复制链接]
发表于 2011-11-15 11:34:53 | 显示全部楼层 |阅读模式
我想查找某个文件夹里所有大小等于 0KB的文件, 然后把这些文件的路径导出来。
用windows 搜索能找出这些文件,但是它无法导成清单。 所以我想用指令的方式把他查找出来,导到文本中。
 楼主| 发表于 2011-11-15 11:35:31 | 显示全部楼层
或者文件小于 5KB 的。。。
发表于 2011-11-15 11:51:48 | 显示全部楼层
本帖最后由 CrLf 于 2011-11-15 12:05 编辑

大小等于零就说明文件为空,所以可以:
  1. @findstr /vsm ". $" "文件夹\*.txt">list.txt
复制代码
如果是小于 5k,那就老老实实用土办法吧:
  1. @echo off
  2. (for /r "文件夹" %%a in (*) do if %%~za lss 5120 echo %%~fa)>list.txt
复制代码
发表于 2011-11-15 11:51:58 | 显示全部楼层
大小等于 0KB的文件?
你的系统里面有小于0KB的文件吗?
 楼主| 发表于 2011-11-15 11:54:44 | 显示全部楼层
我们的文件服务器里很多0KB  1KB,2KB 的文件。 我需要把他们的路径找出来。

指令 (for /r "文件夹\" %%a in (*) do if %%~za lss 5120 echo %%~fa)>list.txt 中 %%~za 的意思是什么呀? ~z 是指大小?size?     %%~fa 有是什么意思啊? 麻烦解释一下,谢谢!
 楼主| 发表于 2011-11-15 12:07:52 | 显示全部楼层
我删掉 @echo off 后执行的结果是:
C:\XXX\Desktop>if 1772544 LSS 5120 echo \\XXXs01\xxx\17前.xls
实际上此文件是 1700K+ 哦。
发表于 2011-11-15 12:08:59 | 显示全部楼层
回复 5# wwx0423


    在 cmd 里运行 for /?|find "~" 查看系统帮助相关部分的解释吧...
 楼主| 发表于 2011-11-15 12:24:09 | 显示全部楼层
为什么我执行后,大于5KB的文件都出来了?
 楼主| 发表于 2011-11-15 12:30:40 | 显示全部楼层
哈哈。我找出原因了。  
就是因为我删除了  @echo off
其实它不是列出 文件名,而且是显示了 正在查找该文件。。。  
加上@echo off 就没有显示了。
谢谢你。
发表于 2011-11-15 22:01:15 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%i in ('dir /s /a /b') do if %%~zi lss 5120 echo %%i
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:51 , Processed in 0.020228 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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