Anwendungs-Software und Apps 14.417 Themen, 72.611 Beiträge

Dateigrößen kumulieren - II

jueki / 11 Antworten / Flachansicht Nickles

Ich hatte in diesem Thread
http://www.nickles.de/forum/anwendungsprogramme-bildbearbeitung-und-co/2014/dateigroessen-kumulieren-539053534.html
nach einer Möglichkeit gefragt, wie ich bei einer ständig größer werdende Datei die Größe kontinuierlich abfragen kann.
InvisibleBot gab mir diesen Script:

 @echo off

COLOR 0A

:loop
cls
for %%F in ("e:\WinTV\Pause\livetv-3260.ts") do set groesse=%%~zF
set /a groesse = %groesse%/1048576
echo %groesse% MB
ping -n 5 127.0.0.1 > NUL
goto loop

Das ganze funktioniert seitdem tadellos.
Nur - wenn die Größe der kontrollierten Datei ca. 2,4GB übersteigt, zählts nicht weiter.
Meldung:
"Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32Bit".
Kann man das dergestalt ändern, das man auch noch wesentlich größere Dateigrößen anzeigen kann? Eventuell in dieser Zeile:

set /a groesse = %groesse%/1048576  ?

Danke schon mal fürs Lesen.

Jürgen

- Nichts ist schwerer und nichts erfordert mehr Charakter, als sich im offenem Gegensatz zu seiner Zeit zu befinden und laut zu sagen "NEIN!" Kurt Tucholsky
bei Antwort benachrichtigen
gelöscht_265507 jueki „Dateigrößen kumulieren - II“
Optionen

Deine Fehlermeldung kommt bei der Umrechnung der Größe / 1048576.

Ich denke, wenn du nichts umrechnest und dir die Zahl In Bytes anzeigen lässt, dann wird deine Batch funktionieren.

Ich habe das mal getestet, indem ich die Größe der Festplattenspeichers ausgelesen habe.

Dazu habe ich dieses benutzt.

for /f "tokens=3" %%i in ('dir g:\ /-c') do set size=%%i
echo Freier Plattenplatz (G): %size% Byte

set /a sizeKB = %size% / 1024
echo Freier Plattenplatz (G): %sizeKB% KByte

set /a sizeMB = %size% / (1024 * 1024)
echo Freier Plattenplatz (G): %sizeMB% MB

Pause

Probiere das mal bei dir aus und gib oben einen gültigen Laufwerksbuchstaben ein. Dann siehst du genau, was angezeigt wird und wo der Fehler auftritt.

bei Antwort benachrichtigen