jugendfreund66
Goto Top

Dateiliste automatisiert weiterverarbeiten

Fragment aus Dateinamen in eine Textdatei und diesem etwas voranstellen.

Hallo, ich habe folgendes Problem.
Ich habe mehrere Dateien. Deren Namen sind wie folgt formatiert: Kundenname, Kundennummer, Auftragsart, Auftragsnummer. Ein Dateiname sieht also so aus: "Name Karl Schneider Kunde 9653 Kauf Prozessor Auftrag 123456.txt".
Ich muß nun eine Textdatei erstellen die die Kundennummern aus den Dateinamen enthält, wobei diesen dann eine feste Buchstabenkombination vorranstellt und auch einige Zeichen nachstellt wird.

Um bei dem Beispiel zu bleiben würde es dann z.B. <Auftrag_zu="9653"/> heißen.

Die Problematik wird wahrscheinlich sein daß die Kundennamen unterschiedlich lang sind. Allerdings steht immer das Wort "Kunde" vor der Kundennumer die stets 4 Zeichen lang ist. Auch steht immer das Word "Kauf" nach der Kundennumer.

Im Endefekt sollte die Textdatei also wie folgt aussehen:

<Auftrag_zu="9653"/><Auftrag_zu="7836"/><Auftrag_zu="3325"/><Auftrag_zu="4486"/>

etc...

Ich habe leider überhaupt keine Ahnung wie ich sowas hinbekommen soll. Zwar schaffe ich es noch per Batch eine Textdatei zu generieren die die in Frage kommenden Dateinamen auflistet (dir Name* /a /-p /o:gen >Auftrag_Kunde.txt) doch die Umformatierung bekomme ich nicht hin.

Das Betriebssystem auf dem das ganze laufen sollte ist Windows XP Pro.

Vielleicht kann mir ja jemand weiterhelfen. Ich wäre über jede Anregung dankbar.

Content-Key: 15050

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

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: Lord-Helmi
Lord-Helmi 29.08.2005 um 08:02:58 Uhr
Goto Top
Hallo,

eine Textdatei, welche die infrage kommenden Dateinamen enthält, ist als Ausgangsbasis doch recht gut. Mittel einer for-Schleife kannst du nun aus dem Dateinamen die gewünschte Kunden-Nr auslesen.

> Auftrag_Kunde.txt <-------
Name Ingo Mueller Kunde 9654 Kauf Festplatte Auftrag 123457.txt
Name Karl Schneider Kunde 9653 Kauf Prozessor Auftrag 123456.txt

> KundenNr.cmd <-------
for /f "tokens=1,2,3,4,5,6,7,8,9 delims= " %%i in (Auftrag_Kunde.txt) do echo Vorher_%%m_Danach >>Kunden.txt

Es wird nun eine neue Datei mit dem Namen Kunden.txt erstellt, die deine Infos enthält.

Gruß
Michael
Mitglied: Biber
Biber 29.08.2005 um 10:54:58 Uhr
Goto Top
Moin Jugendfreund66,
ist natürlich lösbar, wenn denn die Inputdatei halbwegs sauber ist. Dazu die Rückfrage:
a)
- Anzahl ist immer gleich? Oder gibt es auch neben Kunden mit Vor/Nachname ("Karl Napp" )
- Kunden mit nur einem Namen ("Django" oder "Anastasia")
- oder mehr Worten ("Kneipe zum fröhlichen Zecher "; "freiwillige Feuerwehr Nordwülferode" ) ?
b) Kundennummer IMMER vorhanden? Oder "0" wenn keine??

Frank /der Biber aus Bremen
Mitglied: Jugendfreund66
Jugendfreund66 29.08.2005 um 11:32:30 Uhr
Goto Top
Hallo, danke erst mal für die Antwort, ich werde den Tip gleich mal in einer freien Minute ausprobieren. Grüße, Jugendfreund66
Mitglied: Jugendfreund66
Jugendfreund66 29.08.2005 um 11:35:45 Uhr
Goto Top
Hallo, danke erst mal für die Antwort. Also der Name des Kunde besteht leider nicht immer aus zwei Worten daher dachte ich ja man könnte es anhand des Wortes Kunde filtern. Die Kundennummer ist immer vorhanden und ungleich 0. Grüße, Jugendfreund66.