Nummerierung einer Textdatei mit fortlaufender Nummer
Hallo liebe Admins,
Folgendes Szenario bietet sich an:
Textdatei wird von externem Programm erstellt, Bsp. BONUS_20111109_223118_738.TXT. Landet in einem Ordner V:\test
Dort soll aus der Datei folgendes werden AT_25210_20120219_1.txt (AT_25210 ist ein definierter Präfix und danach kommt das Datum und der Counter). Diese Datei wird dann verschoben.
Natürlich soll der Counter dann automatisch weiter zählen wenn eine neue Datei angelegt wird , am besten anhand von einer Datei wo der Countwert dann enthalten ist. So dass man diesen auch dann ggf. umstellen kann wenn man von vorne beginnen will.
AT_25210_20120220_2
AT_25210_20120221_3
Habt ihr so etwas schon mal realisiert? Wenn ja wie? Ich versuche dieses über CMD Shell zu realisieren. Bitte helft mir.
Mfg
Robs
Folgendes Szenario bietet sich an:
Textdatei wird von externem Programm erstellt, Bsp. BONUS_20111109_223118_738.TXT. Landet in einem Ordner V:\test
Dort soll aus der Datei folgendes werden AT_25210_20120219_1.txt (AT_25210 ist ein definierter Präfix und danach kommt das Datum und der Counter). Diese Datei wird dann verschoben.
Natürlich soll der Counter dann automatisch weiter zählen wenn eine neue Datei angelegt wird , am besten anhand von einer Datei wo der Countwert dann enthalten ist. So dass man diesen auch dann ggf. umstellen kann wenn man von vorne beginnen will.
AT_25210_20120220_2
AT_25210_20120221_3
Habt ihr so etwas schon mal realisiert? Wenn ja wie? Ich versuche dieses über CMD Shell zu realisieren. Bitte helft mir.
Mfg
Robs
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180732
Url: https://administrator.de/contentid/180732
Ausgedruckt am: 26.11.2024 um 10:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Robs,
Ich versuch´s mal
Zuerst legst du eine Datei an (hier mit dem Namen "count") und schreibst z.b. eine "1" rein.
Dann brauchst du die folgende Batch nur noch auszuführen.
Möchtest du die Nummerierung neu beginnen, oder ab einer anderen Zahl beginnen, änderst du einfach den Wert in der Datei "count".
Grüße Sinsizer
Ich versuch´s mal
Zuerst legst du eine Datei an (hier mit dem Namen "count") und schreibst z.b. eine "1" rein.
Dann brauchst du die folgende Batch nur noch auszuführen.
@echo off & setlocal enabledelayedexpansion
set /p count=<count
set pre=AT_25210
for /f %%i in ('dir /s /b V:\test\*.txt') do (
move %%i V:\testneu\%pre%_%date:.=%_!count!.txt
set /a count+=1
echo !count!>count
)
Möchtest du die Nummerierung neu beginnen, oder ab einer anderen Zahl beginnen, änderst du einfach den Wert in der Datei "count".
Grüße Sinsizer
Der Ordner "testneu" muss vorher existieren. Move legt keine Verzeichnisse an.
Zum Umbenennen "move" durch "ren" ersetzten. (Zum kopieren "copy", "xcopy" oder "robocopy")
Bitte "Formatierungshilfe" benutzen.
mfg sinsizer
if not exist "testneu" md "testneu"
Zum Umbenennen "move" durch "ren" ersetzten. (Zum kopieren "copy", "xcopy" oder "robocopy")
@echo off & setlocal enabledelayedexpansion
set /p count=<count
set pre=AT_25210
for /f %%i in ('dir /s /b V:\test\*.txt') do (
ren %%i %pre%_%date:.=%_!count!.txt
set /a count+=1
echo !count!>count
)
Bitte "Formatierungshilfe" benutzen.
mfg sinsizer