递归计算指定文件夹以及子文件夹大小 - 只记录大于10M的文件夹

@echo off
 setlocal enabledelayedexpansion
set jd=2
rem 设置需要计算的文件夹
set "dir=c:\"
set /a KB=1024
set /a MB=1024*1024
set /a GB=1024*1024*1024
set /a TB=1024*1024*1024*1024
 
del /f /s /q "%cd%\calc_1.vbs" 
del /f /s /q "%cd%dir_size.txt"
del /f /s /q "c:\vbs_result.txt"


rem 使用vbs脚本创建一个简单的除法计算器。	
 
echo  Dim a1,a2,a3                                            >>"%cd%\calc_1.vbs"
echo  Dim a(2)                                                >>"%cd%\calc_1.vbs"
echo  Dim i                                                   >>"%cd%\calc_1.vbs"
echo  i=0                                                     >>"%cd%\calc_1.vbs"
echo  Set oArgs = WScript.Arguments                           >>"%cd%\calc_1.vbs"
echo      For Each s In oArgs                                 >>"%cd%\calc_1.vbs"
echo          a(i)=s                                          >>"%cd%\calc_1.vbs"
echo          i=i+1                                           >>"%cd%\calc_1.vbs"
echo          'MsgBox(s)                                      >>"%cd%\calc_1.vbs"
echo      Next                                                >>"%cd%\calc_1.vbs"
echo  Set oArgs = Nothing                                     >>"%cd%\calc_1.vbs"
echo  'MsgBox(a(0))                                           >>"%cd%\calc_1.vbs"
echo  'MsgBox(a(1))                                           >>"%cd%\calc_1.vbs"
echo  '                                                       >>"%cd%\calc_1.vbs"
echo  a1=145555555555555555                                   >>"%cd%\calc_1.vbs"
echo  a2=1255555555.23                                        >>"%cd%\calc_1.vbs"
echo  a3=a(0)/a(1)                                            >>"%cd%\calc_1.vbs"
echo  a3=round(a3,2)                                          >>"%cd%\calc_1.vbs"
echo  '                                                       >>"%cd%\calc_1.vbs"
echo  set fso=createobject("scripting.filesystemobject")      >>"%cd%\calc_1.vbs"
echo  set fw=fso.createtextfile("c:\vbs_result.txt")          >>"%cd%\calc_1.vbs"
echo  fw.write a3                                             >>"%cd%\calc_1.vbs"
echo  fw.write "GB"                                           >>"%cd%\calc_1.vbs"
echo  'MsgBox(a3)                                             >>"%cd%\calc_1.vbs"




 
dir /a:d /b /s "%dir%"  | sort /r> "%cd%\directory.txt"
  


for /f "usebackq delims=" %%i in ("directory.txt") do (
	echo dir_is %%i;
	
	for /f "usebackq tokens=3 delims= " %%j in (`dir /s /a /-c "%%i" ^|findstr 个文件`) do (
	  set z=%%j
  )
 	echo 总大小:!z!字节

  REM 下面的代码进行将文件夹的总字节数转换成MB 、GB单位。
  if !z! GEQ %GB% (
    rem echo 该文件夹内容小于1GB
    rem echo z=!z!;
    call "%cd%\calc_1.vbs" !z! %GB%
    type d:\abc\vbs_result.txt 
    echo %%i >>%cd%\dir_size.txt
    type d:\abc\vbs_result.txt  |findstr .* >>%cd%\dir_size.txt
 
  )
  if !z! GEQ %MB% (
     if !z! LSS %GB% (
     	  rem echo 该文件夹内容大于1MB  
     	  set /a size1MB=!z!/%MB% 
     	  echo !size1MB! MB.
     	  if !size1MB! GTR 10 (echo %%i >>%cd%\dir_size.txt & echo !size1MB! MB.>>%cd%\dir_size.txt)
     )
  )
  


  echo ------------------------------------------------------------------------------------------------------
) 
 


pause


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值