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

[文本处理] 批处理如何获取文件大小?

[复制链接]
发表于 2015-4-11 10:57:41 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-8 19:56 编辑

当前目录下有多个文件,
例如:
1.xls
1.txt
1.doc
2.xls
2.txt
2.doc
批处理提取出.xls、.txt和.doc大小之和
输出结果:
1   100KB
2   200KB
发表于 2015-4-11 12:01:00 | 显示全部楼层
  1. @echo off
  2. ::提取txt、doc、xls文件总大小
  3. for /f "delims=" %%a in ('dir /b *.txt *.doc *.xls') do set /a "s+=%%~za/1024"
  4. echo,%s%KB
  5. pause
复制代码
发表于 2015-4-11 12:01:16 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. ::分别提取txt、doc、xls文件总大小
  3. for %%i in (txt doc xls) do (
  4. set s=0
  5. for /f "delims=" %%a in ('dir /b *.%%i 2^>nul') do set /a s+=%%~za/1024
  6. echo,!s!KB
  7. )
  8. )
  9. pause
复制代码
发表于 2015-4-11 13:32:33 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::提取相同文件名的txt、doc、xls文件总大小
  4. for /f "delims=" %%a in ('dir /b *.txt *.doc *.xls') do (
  5. if not defined %%~na (
  6. set s=0
  7. for /f "delims=" %%b in ('dir /b "%%~na.*" ^|findstr /i "\.txt \.doc \.xls"') do set /a "s+=%%~zb/1024"
  8. echo,%%~na !s!KB
  9. set %%~na=def
  10. )
  11. )
  12. pause
复制代码
 楼主| 发表于 2015-4-13 22:00:49 | 显示全部楼层
回复 4# pcl_test


    第三个%%~ZB应该是ZA是提取大小吧。
还有就是提取了名字 大小一直未0KB
发表于 2015-4-13 22:11:57 | 显示全部楼层
回复 5# wang5185244
测试没有问题,请自检
发表于 2021-12-8 19:10:15 | 显示全部楼层
回复 6# pcl_test

对于单文件大于2g的文件会出现
“无效数字。数字精确度限为 32 位。”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 17:58 , Processed in 0.031640 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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