批处理提取某文件夹中的文件容量并赋值给变量,进行除法运算

例如:A文件夹中有A1.BATA2.BATA3.BATB1.CAD4个文件.提取后缀BAT的3个文件.统计文件大小dir*.bat可以查出文件总大小.将查出的文件大小赋值... 例如: A 文件夹 中有 A1.BAT A2.BAT A3.BAT B1.CAD 4个文件.
提取后缀BAT的3个文件.统计文件大小
dir *.bat 可以查出文件总大小.
将查出的文件大小赋值给变量 SS
需要得到的结果如下:
echo /SS = "文件总容量"/3 (3个文件)
"文件总容量"除以"文件总数" >>test.txt
展开
 我来答
百度网友c4bcba7
推荐于2016-04-20 · TA获得超过6999个赞
知道大有可为答主
回答量:2085
采纳率:0%
帮助的人:2099万
展开全部
@echo off
setlocal enabledelayedexpansion
dir *.bat /-c >temp.tmp
find "/" temp.tmp>temp2.tmp
del temp.tmp
for /f "delims=: tokens=2" %%i in (temp2.tmp) do (
set aa=%%i
set aa=!aa: =_!
echo !aa!>>temp.tmp
)
del temp2.tmp
set ncount=0
set nsum=0
for /f "delims=_ tokens=2" %%j in (temp.tmp) do (
set /a nsum=!nsum!+%%j
set /a ncount=1+!ncount!
)
del temp.tmp
set /a nsum=!nsum!/!ncount!
echo 平均数是!nsum!


保存为cmd文件运行即可输出结果

不要保存为bat,否则计算中会把自己的大小也算上

追问
一个文件的容量是20GB.所以可能有点问题.能换算成MB吗?

无效数字。数字精确度限为 32 位。
平均数是524288000
请按任意键继续. . .
追答

你是32bit的windows?变量长度有限制了

@echo off
setlocal enabledelayedexpansion
dir *.bat /-c >temp.tmp
find "/" temp.tmp>temp2.tmp
del temp.tmp
for /f "delims=: tokens=2" %%i in (temp2.tmp) do (
set aa=%%i
set aa=!aa: =_!
echo !aa!>>temp.tmp
)
del temp2.tmp
set ncount=0
set nsum=0
for /f "delims=_ tokens=2" %%j in (temp.tmp) do (
set /a nsum=!nsum!+%%j/1048576
set /a ncount=1+!ncount!
)
del temp.tmp
set /a nsum=!nsum!/!ncount!
echo 平均数是!nsum!


请及时采纳

树懒45号女士b
2015-03-25 · 超过72用户采纳过TA的回答
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:135万
展开全部
比文本abc.txt内容abcdefgh其赋值给某变量?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式