ballos
Goto Top

Zähler in einer Batch

Hallo,

ich habe ein kleines Problem mit einer Batchdatei.

Ich bin dabei für ein Backupprogramm eine batchdatei zu schreiben, die alle 30 min. ein inkrementelles Backup anstösst.

Es funktioniert soweit auch alles, aber das einzige Problem, dass ich noch habe und irgendwie nicht gelöst bekomme ist der Zähler.

Mit Hilfe des Zählers, werden die Backupdateien benannt.

z.B. Backup.001, Backup.002, Backup.003 ...

Die Zahl holt er sich aus einer externen Datei und soll sie dann immer wieder nach dem Backup um 1 erhöhen und in die Datei schreiben.

Das funktioniert auch soweit.


Mein eigentliches Problem ist nun, dass er dies nicht mit den beiden vorangestellten 00 machen kann.
Er zählt hoch, aber schmeisst die 00 weg und zählt dann wieder nur mit 1 Stelle.

Hier ist mal der Code vom Zähler:

@echo off 

for /F %%i in (num.txt) do set v=%%i
echo %v%
pause
set /a zahl=%v%
set /a zahl+=1
echo %zahl% >"c:\num.txt"  
pause

Weiß da jemand Rat, ob das überhaupt möglich ist ?

Vielen Dank

Ps.: Das hier ist natürlich nur ein Teil der Batch. Hier zählt er einfach nur und gibt mir die Zahl aus :D

Content-ID: 143725

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

Ausgedruckt am: 23.11.2024 um 03:11 Uhr

77559
77559 28.05.2010 um 10:54:21 Uhr
Goto Top
Hallo BalloS,

führende Nullen sind bei Zahlen mit denen gerechnet werden soll, in Batch ein Problem weil sie als Oktalzahlen interpretiert werden.
Wenn die Zahl also immer 3-Stellig in der Datei stehen soll, kannst du das so machen.

@Echo off&SetLocal
Set Datei="C:\num.txt"  
If not Exist %Datei% >%Datei% Echo 000
:: Wenn nur die erste Zeile in num.txt relevant ist reicht zum Lesen dies:
Set /P Zahl=<%Datei%
Echo Zahl=%Zahl%
Set /A "Zahl=1%Zahl% + 1"  
Echo Zahl=%Zahl:~-3%
>%Datei% Echo.%Zahl:~-3%

Gruß
LotPings