pblacky
Goto Top

Größe von Dateien auslesen - Fehler bei Zahlenformat

Hi Ihr Lieben,

Ich möchte von einer SD-Karte aus der DIgicam Dateien per Batch kopieren.
Dazu habe ich mir ein kleines Batch geschrieben, das unter anderem prüft ob nach dem Kopieren die Größe der kopierten Dateien passt.

Wenn auf der SD eine größere Anzahl an Fotos ist, dann kommt die Meldung:
"Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits."

Ich habe mich schon etwas hier umgesehen und einen Thread gefunden der hilft.
Leider komme ich mit dem genauen Format noch nicht klar.

Bastla hat dort den Tipp gegeben, 3 STellen mit
set /a ergebnis=%hdd:~,-3%
zu streichen.

Ich habe allerdings noch keine Variable, sondern lese die Größe so aus

for /f "tokens=1,3" %%i in ('dir /s/-c "%Q_LW%\%Q_V%\*.*"^|findstr "Datei(en)"') do set /a Anzahlq=%%i & set /a Variableq=%%j  
Könnte mir jemand einen Tipp geben, wie ich hier die 3 Stellen abschneide?

Oder gibt es eine andere Lösung die Fehlermeldung zu umgehen?
Das Ergebnis muss keinesfalls genau sein, es geht mir nur darum zu prüfen ob eine plausible Menge an Dateien kopiert wurden und die ungefähre Größe zu sehen!

Content-ID: 398524

Url: https://administrator.de/forum/groesse-von-dateien-auslesen-fehler-bei-zahlenformat-398524.html

Ausgedruckt am: 24.12.2024 um 17:12 Uhr

Penny.Cilin
Penny.Cilin 17.01.2019 um 11:01:45 Uhr
Goto Top
Hallo,

warum nutzt Du dafür nicht Robocopy? Mit Robocopy nutzt Du robustes kopieren und kannst mit Parametern den Kopiervorgang gezielt steuern.
Syntax für Robocopy
robocopy /? | more

Beispiel:
robocopy <quelle> <ziel>  /V /TEE /LOG:<pfad_und_name_der_logdatei>
robocopy F:\DCIM C:\users\tom\DCIM /TEE /LOG:c:\temp\Bildercopy.log

Gruss Penny
pblacky
pblacky 20.01.2019 um 11:54:44 Uhr
Goto Top
Danke für den Tipp!

Die Codezeile ist nur ein Teil eines komplexen Batches. Beim Kopieren werden auch gleich Dateinamen nach gewissen Regeln umbenannt, und andere Dinge gemacht, daher geht Robocopy nicht.
Mir würde es daher reichen das Ausgabe Format der Größenberechnung so zu korrigieren, dass der Fehler nicht mehr auftritt!