[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

我想查找某个文件夹里所有大小等于 0KB的文件, 然后把这些文件的路径导出来。
用windows 搜索能找出这些文件,但是它无法导成清单。 所以我想用指令的方式把他查找出来,导到文本中。

或者文件小于 5KB 的。。。

TOP

本帖最后由 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
复制代码

TOP

大小等于 0KB的文件?
你的系统里面有小于0KB的文件吗?

TOP

我们的文件服务器里很多0KB  1KB,2KB 的文件。 我需要把他们的路径找出来。

指令 (for /r "文件夹\" %%a in (*) do if %%~za lss 5120 echo %%~fa)>list.txt 中 %%~za 的意思是什么呀? ~z 是指大小?size?     %%~fa 有是什么意思啊? 麻烦解释一下,谢谢!

TOP

我删掉 @echo off 后执行的结果是:
C:\XXX\Desktop>if 1772544 LSS 5120 echo \\XXXs01\xxx\17前.xls
实际上此文件是 1700K+ 哦。

TOP

回复 5# wwx0423


    在 cmd 里运行 for /?|find "~" 查看系统帮助相关部分的解释吧...

TOP

为什么我执行后,大于5KB的文件都出来了?

TOP

哈哈。我找出原因了。  
就是因为我删除了  @echo off
其实它不是列出 文件名,而且是显示了 正在查找该文件。。。  
加上@echo off 就没有显示了。
谢谢你。

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('dir /s /a /b') do if %%~zi lss 5120 echo %%i
  3. pause
复制代码
1

评分人数

TOP

返回列表