Очень просто настроить Batch-код для управления любым количеством цифр в результате. Это решение позволяет управлять до 16 цифрами в накопленных результатах:
@echo off
setlocal EnableDelayedExpansion
set "digits=8"
rem Assemble the factor with the proper number of digits
set "factor=1"
for /L %%i in (1,1,%digits%) do set "factor=!factor!0"
rem Accumulate size of all extensions in 2 groups of %digits% digits each
for %%a in (*.*) do (
set "size=%factor%%%~Za"
set /A "low[%%~Xa]+=1!size:~-%digits%!-factor, carry=low[%%~Xa]/factor, low[%%~Xa]%%=factor"
set "size=%%~Za"
set "size=!size:~0,-%digits%!"
set /A "high[%%~Xa]+=carry+size"
)
rem Show results
for /F "tokens=2,3 delims=[.]=" %%a in ('set high[') do (
if %%b neq 0 (
set "low=%factor%!low[.%%a]!"
echo %%a %%b!low:~-%digits%! bytes
) else (
echo %%a !low[.%%a]! bytes
)
)
Пример вывода:
C:\Users\Antonio\Documents\tests> dir *.mp3
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: 0895-160E
Directorio de C:\Users\Antonio\Documents\tests
07/07/2010 09:58 a. m. 14,336,418 BigFile.mp3
01/05/2018 03:01 p. m. 143,364,180 BigFile2.mp3
01/05/2018 03:13 p. m. 1,433,641,800 BigFile3.mp3
07/07/2010 09:58 a. m. 14,336,418 BigFileB.mp3
4 archivos 1,605,678,816 bytes
0 dirs 390,478,827,520 bytes libres
C:\Users\Antonio\Documents\tests> test.bat
bat 200759 bytes
csv 20412 bytes
mp3 1605678816 bytes
pdf 62799 bytes
txt 1036041 bytes