mummel
Goto Top

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 face-smile

PS: Tut mir leid wenn ich die Frage falsch eingeordnet habe(Meine erste Frage überhaupt.)

Content-Key: 328261

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

Printed on: April 26, 2024 at 01:04 o'clock

Member: Kraemer
Kraemer Feb 02, 2017 at 15:59:10 (UTC)
Goto Top
Moin,

sage mal ist das irgendwie eine Strafarbeit oder sowas oder eine Machbarkeitsstudie?
Warum willst du soetwas auf diese Art und Weise umsetzen?

Gruß Krämer
Member: Mummel
Mummel Feb 02, 2017, updated at Feb 03, 2017 at 14:30:32 (UTC)
Goto Top
Da mir die Aufgabe zugeteilt wurde.
Mitglied: 132272
132272 Feb 02, 2017 updated at 16:40:50 (UTC)
Goto Top
Batch Dateiname zerlegen
Dazu nehme man eine FOR-Schleife
for /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 face-wink

Gruß
Mitglied: 130834
130834 Feb 02, 2017 updated at 17:36:36 (UTC)
Goto Top
Hallo Mummel,

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
Member: Mummel
Mummel Feb 03, 2017 updated at 13:17:44 (UTC)
Goto Top
Danke @130834,

ich werde da mal was daran rum knobeln und mich über die Befehle informieren face-smile
werde mich nochmal melde mit dem Fertigen Batch, um vielleicht anderen mit dem gleichen Problem zu helfen.

MfG
Mummel