标题: [文件操作] 批处理怎么查找固定大小的文件? [打印本页]
作者: wwx0423 时间: 2011-11-15 11:34 标题: 批处理怎么查找固定大小的文件?
我想查找某个文件夹里所有大小等于 0KB的文件, 然后把这些文件的路径导出来。
用windows 搜索能找出这些文件,但是它无法导成清单。 所以我想用指令的方式把他查找出来,导到文本中。
作者: wwx0423 时间: 2011-11-15 11:35
或者文件小于 5KB 的。。。
作者: CrLf 时间: 2011-11-15 11:51
本帖最后由 CrLf 于 2011-11-15 12:05 编辑
大小等于零就说明文件为空,所以可以:- @findstr /vsm ". $" "文件夹\*.txt">list.txt
复制代码
如果是小于 5k,那就老老实实用土办法吧:- @echo off
- (for /r "文件夹\" %%a in (*) do if %%~za lss 5120 echo %%~fa)>list.txt
复制代码
作者: HAT 时间: 2011-11-15 11:51
大小等于 0KB的文件?
你的系统里面有小于0KB的文件吗?
作者: wwx0423 时间: 2011-11-15 11:54
我们的文件服务器里很多0KB 1KB,2KB 的文件。 我需要把他们的路径找出来。
指令 (for /r "文件夹\" %%a in (*) do if %%~za lss 5120 echo %%~fa)>list.txt 中 %%~za 的意思是什么呀? ~z 是指大小?size? %%~fa 有是什么意思啊? 麻烦解释一下,谢谢!
作者: wwx0423 时间: 2011-11-15 12:07
我删掉 @echo off 后执行的结果是:
C:\XXX\Desktop>if 1772544 LSS 5120 echo \\XXXs01\xxx\17前.xls
实际上此文件是 1700K+ 哦。
作者: CrLf 时间: 2011-11-15 12:08
回复 5# wwx0423
在 cmd 里运行 for /?|find "~" 查看系统帮助相关部分的解释吧...
作者: wwx0423 时间: 2011-11-15 12:24
为什么我执行后,大于5KB的文件都出来了?
作者: wwx0423 时间: 2011-11-15 12:30
哈哈。我找出原因了。
就是因为我删除了 @echo off
其实它不是列出 文件名,而且是显示了 正在查找该文件。。。
加上@echo off 就没有显示了。
谢谢你。
作者: 545810831 时间: 2011-11-15 22:01
- @echo off
- for /f "delims=" %%i in ('dir /s /a /b') do if %%~zi lss 5120 echo %%i
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |