Batch Dateinamen zerlegen
Hallo Liebe Leute,
hoffe mir kann einer helfen.
Ich soll eine Batch schreiben, die eine abfrage macht. (Soll ein "Ticket"System werden. Sprich wenn von jemanden ein Auftrag kommt, soll dieser mit einer Batch abfrage erstellt werden.)
Diese Batch speicher die Daten in Variablen und erstellt darauf eine *.txt Datei, mit den einzelnen Werten als Dateiname.
-> Das klappt auch nach langem grübeln.
Nun soll die Datei aber auch veränderbar sein und "beendet" werden können.
Sprich eine Datei ist wie folgt aufgebaut:
1_10_2017-01-01_Text_KZ.txt
die 1 -> ist eine Prioritätsnummer(Was als erstes gemacht werden soll)
die 10 -> ist die Ticket-ID(Diese wird aus einer anderen Text datei gelesen +1 gerechnet und wieder rein geschireben.)
2017-01-01 -> Erstelldatum
der Text -> kurz,stichpunktartig was erledigt werden soll,
das KZ -> ist das Kürzel der Mitarbeiter, von wem der Auftrag kommt.
Genug Input, nun meine frage:
Ändern:
Wie kann ich nach der Ticketnummer suchen(in einem Ordner, wo 60-100 *.txt vorhanden sind), um diese Datei auszuwählen und bei den "_" die Werte in Strings zu speichern um Text und Priorität ändern zu können? (Rest bleibt gleich).
[
Beenden ist das gleich:
nach Datei suchen (mit Ticketnummer) -> alles bleibt gleich außer das die Priorität weg kommt und durch das aktuelle Datum ersetzt wird(Format wie Startdatum yyyy-mm-dd)
] <- noch nicht so wichtig, bzw. kann man aus Ändern herleiten wenn man es versteht :D
Wenn es hilfreich ist kann ich gerne noch die Batch-Datein hier reinstellen, um zu zeigen was ich bisher habe.
MfG
Mummel
PS: Tut mir leid wenn ich die Frage falsch eingeordnet habe(Meine erste Frage überhaupt.)
hoffe mir kann einer helfen.
Ich soll eine Batch schreiben, die eine abfrage macht. (Soll ein "Ticket"System werden. Sprich wenn von jemanden ein Auftrag kommt, soll dieser mit einer Batch abfrage erstellt werden.)
Diese Batch speicher die Daten in Variablen und erstellt darauf eine *.txt Datei, mit den einzelnen Werten als Dateiname.
-> Das klappt auch nach langem grübeln.
Nun soll die Datei aber auch veränderbar sein und "beendet" werden können.
Sprich eine Datei ist wie folgt aufgebaut:
1_10_2017-01-01_Text_KZ.txt
die 1 -> ist eine Prioritätsnummer(Was als erstes gemacht werden soll)
die 10 -> ist die Ticket-ID(Diese wird aus einer anderen Text datei gelesen +1 gerechnet und wieder rein geschireben.)
2017-01-01 -> Erstelldatum
der Text -> kurz,stichpunktartig was erledigt werden soll,
das KZ -> ist das Kürzel der Mitarbeiter, von wem der Auftrag kommt.
Genug Input, nun meine frage:
Ändern:
Wie kann ich nach der Ticketnummer suchen(in einem Ordner, wo 60-100 *.txt vorhanden sind), um diese Datei auszuwählen und bei den "_" die Werte in Strings zu speichern um Text und Priorität ändern zu können? (Rest bleibt gleich).
[
Beenden ist das gleich:
nach Datei suchen (mit Ticketnummer) -> alles bleibt gleich außer das die Priorität weg kommt und durch das aktuelle Datum ersetzt wird(Format wie Startdatum yyyy-mm-dd)
] <- noch nicht so wichtig, bzw. kann man aus Ändern herleiten wenn man es versteht :D
Wenn es hilfreich ist kann ich gerne noch die Batch-Datein hier reinstellen, um zu zeigen was ich bisher habe.
MfG
Mummel
PS: Tut mir leid wenn ich die Frage falsch eingeordnet habe(Meine erste Frage überhaupt.)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328261
Url: https://administrator.de/forum/batch-dateinamen-zerlegen-328261.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
5 Kommentare
Neuester Kommentar

Batch Dateiname zerlegen
Dazu nehme man eine FOR-Schleifefor /f "delims=_" %%a in ("1_10_2017-01-01_Text_KZ.txt") do @echo %%b
Wie kann ich nach der Ticketnummer suchen
Dazu nehme man findstr /? oder dir /?Weil mein Ausbilder es gesagt hat.
Rest ist Hausaufgabe. denn es ist ja deine Ausbildung, nicht unsere Gruß

Hallo Mummel,
Was du brauchst sieht etwa so aus;
Die Variablen kann man dann weiterverwenden.
%prior% ist die Priorität,
%ID% die TicketID,
%datum% das Datum,
%desc% die Beschreibung,
%KZ% der Kürzel.
Um text und Priorität zu ändern könntest du in etwa das hier machen;
Und um zu "Beenden" kannst du dann das hier machen;
Hoffe das hilft,
lg clragon
Was du brauchst sieht etwa so aus;
set "Datei="
set "TicketNummer=10"
for /F %%A in ('dir /b ^| findstr "%TicketNummer%"') do ( if not defined Datei set "=%%A" )
for /F "tokens=1-5 delims='_'" %%a in ("%Datei%") do (
set "prior=%%a"
set "ID=%%b"
set "datum=%%c"
set "desc=%%d"
set "KZ=%%e"
)
Die Variablen kann man dann weiterverwenden.
%prior% ist die Priorität,
%ID% die TicketID,
%datum% das Datum,
%desc% die Beschreibung,
%KZ% der Kürzel.
Um text und Priorität zu ändern könntest du in etwa das hier machen;
set "prior=//Neue Priorität//"
set "desc=//Die neue Beschreibung//"
rename "%Datei%.txt" "%prior%_%ID%_%datum%_%desc%_%KZ%.txt"
Und um zu "Beenden" kannst du dann das hier machen;
set "Ndate=%date:~-4%-%date:~3,2%-%date:~0,2%"
rename "%Datei%.txt" "%ID%_%Ndate%_%desc%_%KZ%.txt"
Hoffe das hilft,
lg clragon