批处理计算指定文件夹的大小

因为工作中需要计算许多数据的大小,而有一些文件夹比较大,比较繁琐。所以计算文件夹大小花费的时间会比较长。可不可以通过批处理解决这个问题?

参考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 次方的大小,暂时没有想到好的解决方法。

已找到了方案,参考:批处理怎样实现计算超大数、浮点数计算

posted on 2021-08-31 16:51  jack_Meng  阅读(1645)  评论(0编辑  收藏  举报

导航