因为工作中需要计算许多数据的大小,而有一些文件夹比较大,比较繁琐。所以计算文件夹大小花费的时间会比较长。可不可以通过批处理解决这个问题?
参考http://www.bathome.net/thread-8254-1-1.html的方法,给出如下代码:
@echo off&chcp 437>nul&setlocal enabledelayedexpansion
for /f "tokens=3* delims= " %%a in ('dir "C:\TmpTest" /a-d /s /-c ^| find /i "File"') do (
set s=%%a %%b
echo %s%
首先转换为英文显示状态下,chcp 437,中文是chcp 936
这里使用了dir命令,获取最后一条文件个数和大小,试试上面的命令,如下
Total Files Listed:
33160 File(s) 5869618759 bytes
如果需要换算单位的话,考虑 set /a 会受到最大数值的限制 2^32 次方的大小,暂时没有想到好的解决方法。
已找到了方案,参考:
批处理怎样实现计算超大数、浮点数计算