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

[文件操作] 批处理如何计算文件夹中所有文件的大小

[复制链接]
发表于 2015-5-25 22:57:15 | 显示全部楼层 |阅读模式
批处理如何计算文件夹中的所有文件的大小之和(包括子目录),就是想复制一个文件夹中的所有文件到一个分区中,需要先判断一下这个文件夹中搜索文件的大小,然后和目标分区的剩余空间做一个比对,如果能放下就复制过去。最好能在批处理中显示大小是MB
 楼主| 发表于 2015-5-25 23:03:05 | 显示全部楼层
大小的计算上不是要求太精确,如果文件夹中的小文件比对多不好计算的,也可以在批处理中计算大小的时候忽略掉比如小于100KB或者更大的值
发表于 2015-5-26 00:26:11 | 显示全部楼层
  1. @echo off
  2. set "ph=c:\windows"
  3. for /f "tokens=3" %%i in ('dir /a-d /s/-c "%ph%" 2^>nul^|findstr /iec:" 字节"') do set n=%%i
  4. set /a "s=%n:~,-3%/1024"
  5. if %s% geq 1 set /a size=%s%%n:~-3%/1024"
  6. echo %size% MB
  7. pause
复制代码
发表于 2015-5-26 00:45:43 | 显示全部楼层
http://www.bathome.net/viewthread.php?tid=25682
简单说,fso.GetFolder(文件夹).Size 就是文件夹总体积
 楼主| 发表于 2015-5-26 22:23:58 | 显示全部楼层
回复 4# CrLf
分区的剩余空间如何列出来,我看到的wmic logicaldisk where drivetype=3 get deviceid,freespace这个比较简单。
但是如何换算成大小为MB而不是字节。
之后我输入一个盘符,比如输入D盘把,用需要复制文件综合的体积和这个分区的剩余空间比较,如果能存放下就继续复制的动作,如果不能提示再选一个盘符。
 楼主| 发表于 2015-5-26 22:51:41 | 显示全部楼层
除的时候小数点后面的可以省略,粗略计算一下大小就可以,要求不是太精确。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 06:13 , Processed in 0.011831 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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