标题: [文本处理] 批处理如何获取文件大小? [打印本页]
作者: wang5185244 时间: 2015-4-11 10:57 标题: 批处理如何获取文件大小?
本帖最后由 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
作者: pcl_test 时间: 2015-4-11 12:01
- @echo off
- ::提取txt、doc、xls文件总大小
- for /f "delims=" %%a in ('dir /b *.txt *.doc *.xls') do set /a "s+=%%~za/1024"
- echo,%s%KB
- pause
复制代码
作者: pcl_test 时间: 2015-4-11 12:01
- @echo off & setlocal enabledelayedexpansion
- ::分别提取txt、doc、xls文件总大小
- for %%i in (txt doc xls) do (
- set s=0
- for /f "delims=" %%a in ('dir /b *.%%i 2^>nul') do set /a s+=%%~za/1024
- echo,!s!KB
- )
- )
- pause
复制代码
作者: pcl_test 时间: 2015-4-11 13:32
- @echo off
- setlocal enabledelayedexpansion
- ::提取相同文件名的txt、doc、xls文件总大小
- for /f "delims=" %%a in ('dir /b *.txt *.doc *.xls') do (
- if not defined %%~na (
- set s=0
- for /f "delims=" %%b in ('dir /b "%%~na.*" ^|findstr /i "\.txt \.doc \.xls"') do set /a "s+=%%~zb/1024"
- echo,%%~na !s!KB
- set %%~na=def
- )
- )
- pause
复制代码
作者: wang5185244 时间: 2015-4-13 22:00
回复 4# pcl_test
第三个%%~ZB应该是ZA是提取大小吧。
还有就是提取了名字 大小一直未0KB
作者: pcl_test 时间: 2015-4-13 22:11
回复 5# wang5185244
测试没有问题,请自检
作者: ctgwglzc 时间: 2021-12-8 19:10
回复 6# pcl_test
对于单文件大于2g的文件会出现
“无效数字。数字精确度限为 32 位。”
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |