txt per batch umbennen und hochzählen
Hallo zusammen,
leider habe ich mich beim suchen entweder zu doof angestellt oder aber wirklich nichts gefunden, was genau mein Problem beschreibt.
Ich erzeuge per SQL Export aus SAP eine "Stock.txt" die ich in ein Fremdsystem liefern muss, hier läuft ein Autoimporter der erwartet, das die Datei immer "BU123456.txt" heißt, die Zahlen sind hierbei als Platzhalter gedacht, es gibt einen Startwert und mit jedem ausführen der Batch Datei müsste die Zahl um 1 erhöht werden.
1. Run: BU000000
2. Run: BU000001
3. Run: BU000002
natürlich weiß ich wie ich einen normalen rename in die Batch Datei einbaue aber ich finde keine Lösung für das automatische Hochzählen, falls es sowas überhaupt gibt. Ich kann auch ein Powershell Script etc. zusätzlich einbauen aber auch hier habe ich bisher keine Lösung gefunden. Ich kann auch "BUHHMMSS.txt" (HH = Stunden, MM = Minuten, SS = Sekunden) nehmen, wenn oder "BUMMTTHH.txt" (MM = Monat, TT = Tag, HH = Stunde)
Der Kunde der auf diese Weise mit Bestand versorgt wird, hat zwar eine eigene IT Abteilung aber anscheinend hat sich da noch nie jemand gedanken gemacht, wie man das automatisiert mehrfach am Tag laufen lassen kann. Wieso auch immer scheint es dort der Fall zu sein, das die Dateien bei anderen Lieferanten händisch angepasst werden.
Göttlich wäre es dann noch, wenn die Batch prüfen könnte ob es innerhalb der "Stock.txt" leere Zeilen gibt und diese beim Umbenennen raus löscht.
Vielen Dank für eure Hilfe und nochmal sorry für die doofe Frage
Grüße
Eric
leider habe ich mich beim suchen entweder zu doof angestellt oder aber wirklich nichts gefunden, was genau mein Problem beschreibt.
Ich erzeuge per SQL Export aus SAP eine "Stock.txt" die ich in ein Fremdsystem liefern muss, hier läuft ein Autoimporter der erwartet, das die Datei immer "BU123456.txt" heißt, die Zahlen sind hierbei als Platzhalter gedacht, es gibt einen Startwert und mit jedem ausführen der Batch Datei müsste die Zahl um 1 erhöht werden.
1. Run: BU000000
2. Run: BU000001
3. Run: BU000002
natürlich weiß ich wie ich einen normalen rename in die Batch Datei einbaue aber ich finde keine Lösung für das automatische Hochzählen, falls es sowas überhaupt gibt. Ich kann auch ein Powershell Script etc. zusätzlich einbauen aber auch hier habe ich bisher keine Lösung gefunden. Ich kann auch "BUHHMMSS.txt" (HH = Stunden, MM = Minuten, SS = Sekunden) nehmen, wenn oder "BUMMTTHH.txt" (MM = Monat, TT = Tag, HH = Stunde)
Der Kunde der auf diese Weise mit Bestand versorgt wird, hat zwar eine eigene IT Abteilung aber anscheinend hat sich da noch nie jemand gedanken gemacht, wie man das automatisiert mehrfach am Tag laufen lassen kann. Wieso auch immer scheint es dort der Fall zu sein, das die Dateien bei anderen Lieferanten händisch angepasst werden.
Göttlich wäre es dann noch, wenn die Batch prüfen könnte ob es innerhalb der "Stock.txt" leere Zeilen gibt und diese beim Umbenennen raus löscht.
Vielen Dank für eure Hilfe und nochmal sorry für die doofe Frage
Grüße
Eric
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 393386
Url: https://administrator.de/forum/txt-per-batch-umbennen-und-hochzaehlen-393386.html
Ausgedruckt am: 03.05.2025 um 14:05 Uhr
9 Kommentare
Neuester Kommentar

@echo off &setlocal ENABLEDELAYEDEXPANSION
set "quelle=D:\Ordner"
If not exist "%quelle%\cnt.txt" (
set cnt=1
) else (
set /p cnt=<"%quelle%\cnt.txt"
set /a cnt+=1
)
if exist "%quelle%\stock.txt" (
set "new=00000!cnt!"
ren "%quelle%\stock.txt" "BU!new:~-6!.txt"
>"%quelle%\cnt.txt" echo.!cnt!
)

Ich würde ja eine if Abfrage
einfügen.
Gruß
LotPings
if exist "%quelle%\stock.txt" (
set "new=00000!cnt!"
ren "%quelle%\stock.txt" "BU%new:~-6%.txt"
>"%quelle%\cnt.txt" echo.!cnt!
)
einfügen.
Gruß
LotPings

Zitat von @Shihayazad:
Hallo,
ich sollte vieleicht noch dazu sagen, das die Datei verschoben wird also er nicht prüfen kann ob dort eine Datei liegt.
Das hat dir LotPings doch noch zusätzlich zum obigen Code gezeigt (obwohl sein Code einen kleinen Fehler hatte (habe ich oben korrigiert eingebaut)). Ich dachte solch Basis-Batch Dinge wären zumindest vorhanden, deshalb hatte ich sie nicht eingebaut damit du auch noch was zu tun hast und nicht nur CopynPastest Hallo,
ich sollte vieleicht noch dazu sagen, das die Datei verschoben wird also er nicht prüfen kann ob dort eine Datei liegt.
so leid kann es dir nicht tun, da du immer noch nicht alles liest und verstehst
Ich hoffe das ich gleich die Zeit haben werde mir das ganze zusammen zu bauen,
@137846 hat dir die fertige Lösung geliefert!damit es dann so läuft wie ich es mir vorstelle.
und das Ganze entsprechend deiner VorgabenEntsprechend werde ich dann nochmal das ganze Batch posten, das dann für mich funktioniert 
du scheinst den Code nicht einmal annähernd zu verstehen...