schulle2
Goto Top

Zählen von Dateien klappt nicht

Hallo,

ich splitte zuerst eine Datei in mehrere Parts auf (abhängig von der orginal größe).
Anschliessend zähle ich die parts wie man unten im script sehen kann.
Nun will ich alle, bis auf die letzte Datei löschen. Nur leider klappt das nicht.
Manchmal zählt er nicht richtig, manchmal falsch etc.
Hat jmd eine Idee?
(infile = original datei)
for %%i in (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) do if exist  listener_all.frag%%i.LOG (SET /A data+ =1)


echo %data%
echo ***********************************************************************
echo Datei wurde in  %data% Teile aufgesplittet
echo ***********************************************************************

set /a data = %data% -1
for /l %%a in (0,1,%data%) do del listener_all.frag%%a.LOG
set /a data = %data% +1
del %infile%
ren listener_all.frag%data%.LOG %infile%

)
Danke im Vorraus!

Content-Key: 63574

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

Printed on: April 23, 2024 at 10:04 o'clock

Member: Biber
Biber Jul 11, 2007 at 12:35:39 (UTC)
Goto Top
Moin schulle2,
Manchmal zählt er nicht richtig, manchmal falsch etc.
So trocken möchte ich auch mal die Gags raushauen können..*gg

Ich denke, eine Fehlerquelle ist der (für Batche zu lockere) Umgang mit Leerzeichen beim SET-Befehl.

Hier: (SET /A data+ =1) -------> darf kein Leerzeichen zweischen "+" und "="
Hier: set /a data = %data% -1 ----------> darf kein Leerzeichen zwischen dem ersten "data" und "="
Hier: set /a data = %data% +1 ----------> darf kein Leerzeichen zwischen dem ersten "data" und "="

Hier :Danke im Vorraus! --->ist vordergründig ein "r" zuviel.
Beim zweiten Hinsehen ist allerdings die ganze Zeile überflüssig.

Außerdem: wo kommt denn die überzählige Klammer-Zu ")" am Ende her?
Läuft das Ganze innerhalb einer äußeren FOR...-Anweisung?

Grüße
Biber
Member: miniversum
miniversum Jul 11, 2007 at 12:38:15 (UTC)
Goto Top
Benutz doch die dir funktion zum Zählen.
Die For Schleife würde dan so aussehen:
for /F "tokens=1 delims= " %%a in ('dir listener_all.frag*.LOG ^|find "Datei(en)"') do set data=%%a

miniversum