回复 4# itunesis
set "dir=%~dp0"即可
生成dirList.txt,两位小数- @echo off
- setlocal enabledelayedexpansion
- set "dir=%~dp0"
- set "max=5242880"
- (
- REM for /r "%dir%" /d %%i in ("*") do call :getFolderSize "%%i"
- for /d %%i in ("%dir%*") do call :getFolderSize "%%i"
- )>"%~dp0dirList.txt"
- type "%~dp0dirList.txt"
- echo ----------------------
- echo out file: %~dp0dirList.txt
- echo ----------------------
- pause&exit
-
- :getFolderSize
- set "size=0"
- for /r "%~1" %%i in ("*") do ( set /a "size+=%%~zi" & if !size! gtr %max% goto :eof )
- if !size! leq 1024 ( set "unit=B" & goto :show )
- if !size! leq 1048576 ( set "unit=KB" & set /a "size=!size!*100/1024" & set "size=!size:~0,-2!.!size:~-2!" & goto :show )
- set "unit=MB" & set /a "size=!size!*100/1024/1024" & set "size=!size:~0,-2!.!size:~-2!"
- :show
- set "size=%size%%unit% "
- echo %size:~0,10% %~1
复制代码
|