101566
Goto Top

Dateigrößen zusammen addieren (BATCH)

Dateigrößen zusammen addieren

Hallo Community,

frei nach dem Motto: Gute Frage, Nächste Frage:

Ich würde gerne wissen wie ich, nachdem ich die Dateigrößen folgender Dateitypen (etx, zip) ermittelt hab, diese zusammen addieren kann:

Mein Code

set "Quelle=c:\test"  

set "LaufwerkZiel=d:"  
set "etxGroesse=0"  
FOR /F "tokens=3" %%i in ('dir /-c /s %Quelle%\*.etx 2^>nul^|findstr /i "Bytes$"') do set "etxGroesse=%%i"  
set "zipGroesse=0"  
FOR /F "tokens=3" %%i in ('dir /-c /s %Quelle%\*.zip 2^>nul^|findstr /i "Bytes$"') do set "zipGroesse=%%i"  

set Groesse=(%etxGroesse% + %zipGroesse%)
echo GesamtGroesse=%Groesse%

Dabei kommt folgendes raus:

d88eb15da07a13ddd799d9e153dbcf0e

Muss ich vorher eventuell konvertieren und könnte "set /a" was damit zu tun haben?

Gruß,
Robert

Content-Key: 170526

Url: https://administrator.de/contentid/170526

Ausgedruckt am: 29.03.2024 um 10:03 Uhr

Mitglied: Skyemugen
Skyemugen 27.07.2011 um 16:50:31 Uhr
Goto Top
Aloha,

nicht nur könnte face-wink

do set /a "etxGroesse=%%i"
do set /a "zipGroesse=%%i"

set /a "Groesse=%etxGroesse%+%zipGroesse%"

greetz André
Mitglied: 101566
101566 27.07.2011 um 16:51:49 Uhr
Goto Top
ich habs gewusst
dankeschön!
probier es dann zuhause und bestätige falls es klappt face-smile

einen schönen abend noch

gruß,
robert
Mitglied: bastla
bastla 27.07.2011 um 17:17:42 Uhr
Goto Top
... noch als Ergänzung: Wenn die Einzelwerte nicht benötigt werden, sollte auch
for /f "tokens=3" %%i in ('dir /-c /s "%Quelle%\*.etx" "%Quelle%\*.zip" 2^>nul^|findstr /i "Bytes$"') do set "Groesse=%%i"  
echo %Groesse%
oder (für eine größere Anzahl von Dateitypen etwas übersichtlicher)
set "Typen=*.etx *.zip"  
pushd "%Quelle%"  
for /f "tokens=3" %%i in ('dir /-c /s %Typen% 2^>nul^|findstr /i "Bytes$"') do set "Groesse=%%i"  
popd
echo %Groesse%
genügen ...

[Edit] Passend zu Friemlers Hinweis unterhalb: Bei der oben gezeigten Vorgangsweise wird der Gesamtwert vom "dir"-Befehl geliefert und kann daher als Text übernommen werden und deswegen beliebig groß sein - zumindest, bis Du dann versuchst, damit zu rechnen ... face-wink [/Edit]

Grüße
bastla
Mitglied: Friemler
Friemler 27.07.2011 um 18:02:06 Uhr
Goto Top
Hallo Robert,

... und falls dann das Problem auftaucht, dass die Gesamtdateigröße größer als (2^31 - 1)=2147483647 Bytes werden könnte (in Batchscript kann nur mit vorzeichenbehafteten 32Bit-Integers gerechnet werden), dann schau mal hier vorbei.

Gruß
Friemler
Mitglied: 101566
101566 27.07.2011 um 23:06:51 Uhr
Goto Top
super vielen dank für die vielen antworten..
war beschäftigt und stürze mich morgen früh drauf, bevor ich hier noch umfalle^^

Gute Nacht,
Robert