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

[文件操作] 批处理如何找出指定文件夹下(含子文件夹)大小超过/大于指定值的文件?

本帖最后由 pcl_test 于 2016-4-13 19:24 编辑

或者统计某个文件夹下(含递归的文件夹)所有大小超过某值的文件的数量?
用哪些命名可以解决这个问题?是不是最后要把结果写到一个文件夹里?

for 语句的 %~zi、forfiles的@fsize都可以

TOP

回复 2# flyinnet9


    恩,统计一个文件夹里的文件知道了。那如果有多级文件夹怎么办?

TOP

回复 2# flyinnet9
再问一个问题:
for是不是可以只解析到字符串,也可以解析出文件中的内容?(可以人为设置的是不是?)
    ---for %%A in "C:\aaa.txt"   (这样解析出来%%A 是不是就是"C:\aaa.txt"?)  
    ---for /F [<options>] %<variable> IN <filename-set> DO <command> (这样解析出来 %%A 是不是就是<filename-set>中的文件 中的内容 分解出来的 字符串?)
   
感激不尽!

TOP

TOP

  1. @hash /s /z::1024
  2. ::列举大小超过 1KB 的文件
复制代码

TOP

回复 5# pcl_test


    牛

TOP

  1. /*&cls
  2. @echo off
  3. rem 列举大小超过1KB的文件
  4. (for /f "delims=" %%a in ('dir /a-d/b/s') do @echo;%%a*%%~za)|cscript -nologo -e:jscript "%~f0" ">1024"
  5. pause&exit
  6. */
  7. var s = '';
  8. while(!WSH.StdIn.AtEndOfStream){
  9.     var f = WSH.StdIn.ReadLine().split('*');
  10.     if(eval(f[1]+WSH.Arguments(0)))s += f[0] + '\r\n';
  11. }
  12. WSH.echo(s);
复制代码

TOP

  1. ::列举大于1024字节文件
  2. forfiles /s /c "cmd /c if @fsize gtr 1024 echo.@path 大于1024字节"
复制代码

TOP

pcl_test 发表于 2016-4-13 23:46



    这斑竹玩的真有意思呵呵, for调用dir又调用cscript. 解释器解读js又需要过滤js中while. 呵呵呵呵呵...

TOP

@echo off
echo 查找中,请稍等。。。
if exist test.txt del /s /q test.txt
for /r  d:\ %%i in (*.*) do if %%~zi gtr 1073741824 echo %%~fi %%~zi >>test.txt
::查找的d盘下面大于1G的文件
echo 查找完毕,请看本目录下test.txt文件!!!
pause

TOP

本帖最后由 codegay 于 2016-4-15 19:33 编辑

回复 11# Abson

code圈代码。
论坛编辑器上有对应功能。
  1. 代码
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 12# codegay


    ok

TOP

返回列表