Files
THE-TOOL/CMD/Festplatte_voll/SIZE.bat
2025-12-14 15:46:14 +01:00

24 lines
1.5 KiB
Batchfile

@echo off & setlocal & set Fkilo=0& title Ordnergroessen
::
::
if "%~1"=="" (set "pfad=%~dp0" ) else set "pfad=%~1"
if not "%pfad:~-1%" == "\" set "pfad=%pfad%\"
for /d %%i in ("%pfad%*.*") do for /f "tokens=1-3" %%a in ('dir "%%i" /a /s /-c ^|findstr "Datei(en)"') do set "..?%%~i=%%c"
for /f "tokens=2,3 delims=?=" %%i in ('set.. 2^>nul') do (echo %%i hat: %%j bytes& set /a folders + = 1 &call :rechner %%j)
echo Gesamtgroesse fuer %pfad%
if defined folders (echo %Fpeta%%Fgiga%%Fkilo% bytes& goto :eof ) else echo "%pfad%" enthaelt keine Ordner!& goto :eof
:rechner
set /a gignr = 0 , petnr = 0
set alls=%1
if %alls% gtr 999999 (set giga=%alls:~ 0, -6%& set /a gignr + = 1 , kilo = 1%alls:~-6%) else (set /a kilo = %alls:~-6% , giga = 0 , peta = 0 & goto :woutgig )
if %giga% gtr 999999 (set peta=%giga:~ 0, -6%& set /a petnr + = 1 , giga = 1%giga:~-6%) else (set /a giga = %giga:~-6% , peta = 0)
:woutgig
set Falls=%Fpeta%%Fgiga%%Fkilo%
if %Falls% gtr 999999 (set Fgiga=%Falls:~ 0, -6%& set /a Fkilo = 1%Falls:~ -6% + kilo , gignr + = 1) else (set /a Fkilo = %Falls% + kilo , Fgiga = 0 , Fpeta = 0 )
if %Fgiga% gtr 999999 (set Fpeta=%Fgiga:~ 0, -6%& set /a Fgiga = 1%Fgiga:~ -6% + giga - gignr + %Fkilo:~ 0, -6% 2>nul , petnr + = 1) else (set /a Fgiga = %Fgiga% + giga - gignr + %Fkilo:~ 0, -6% 2>nul, Fpeta = 0 )
if %Fpeta% gtr 0 set /a Fpeta = Fpeta + peta - petnr + %Fgiga:~ 0, -6% ,
set Fkilo=%Fkilo:~ -6%
if %Fgiga% == 0 (set "Fgiga=") else set Fgiga=%Fgiga:~ -6%
if %Fpeta% == 0 set "Fpeta="