Text zeilenweise per Batch auslesen und anpassen bzw. umsortieren
Hallo liebe Experten,
ich bin zwar ein recht erfahrener Administrator, aber mit Batch-Programmierung hatte ich bisher kaum etwas zu tun und werde es auch in Zukunft kaum haben, deshalb komme ich heute mit einer Bitte/Anfrage zu euch, die in den Foren nicht gern gesehen ist, aber mir fehlt einfach die Zeit, mich komplett in die Batchprogrammierung einzulesen. Vielleicht kann mir einer von euch Experten doch etwas helfen, zumindest das Grundgerüst des Programmes zusammenzustellen, nur gewisse Anpassungen würde ich dann sicher selber hinbekommen.
Die Problemstellung: Ich habe eine Stempeluhr, die mir ein txt-File generiert, das beliebig lang sein kann. Dieses txt-File müsste ich etwas umstruktieren, um es in mein Lohnbuchhaltungsprogramm einfügen zu können.
Meine Ausgangslage ist diese:
2816710662461201182609
2816710662461201182909
2819710662461202160409
2819710662471202160409
Aufgeteilt:
2816 71066 246 12 01 18 26 09
2816 = Userkodex
71066 = Firmenkodex (ist irrelevant)
246 = Eingang
247 = Austritt
12 = Monat
01 = Tag
18 = Stunde
26 = Minute
09 = Jahr
Jetzt bräuchte ich die Daten aber so:
01110207470000070000E09
01110207530000010000E09
01110207530000120000E09
Aufgeteilt:
01 11 02 07 47 000007 0000 E 09
01 = Firmenkodex (bleibt immer 01)
11 = Monat
02 = Tag
07 = Stunde
47 = Minute
000007 = Userkodex (ich habe hierbei eine "Übersetzungsliste", welche mir z. B. sagt: Userkodex 2816 im neuen File ist Userkodex 000007 im alten File. Hier müsste man also ein paar IF's einbauen)
0000 = Fülldaten, bleiben immer 0000
E = Eingang (gleiches Spiel hier: IF 246 then "E" elseif 247 then "U")
U = Austritt
09 = Jahr
Denkt ihr jemand bekommt das für mich hin? Wäre euch echt dankbar!!
Wenn ich noch irgendetwas klären muss, könnt ihr natürlich gerne jederzeit fragen.
Schöne Grüße aus dem verschneiten Südtirol
Markus
ich bin zwar ein recht erfahrener Administrator, aber mit Batch-Programmierung hatte ich bisher kaum etwas zu tun und werde es auch in Zukunft kaum haben, deshalb komme ich heute mit einer Bitte/Anfrage zu euch, die in den Foren nicht gern gesehen ist, aber mir fehlt einfach die Zeit, mich komplett in die Batchprogrammierung einzulesen. Vielleicht kann mir einer von euch Experten doch etwas helfen, zumindest das Grundgerüst des Programmes zusammenzustellen, nur gewisse Anpassungen würde ich dann sicher selber hinbekommen.
Die Problemstellung: Ich habe eine Stempeluhr, die mir ein txt-File generiert, das beliebig lang sein kann. Dieses txt-File müsste ich etwas umstruktieren, um es in mein Lohnbuchhaltungsprogramm einfügen zu können.
Meine Ausgangslage ist diese:
2816710662461201182609
2816710662461201182909
2819710662461202160409
2819710662471202160409
Aufgeteilt:
2816 71066 246 12 01 18 26 09
2816 = Userkodex
71066 = Firmenkodex (ist irrelevant)
246 = Eingang
247 = Austritt
12 = Monat
01 = Tag
18 = Stunde
26 = Minute
09 = Jahr
Jetzt bräuchte ich die Daten aber so:
01110207470000070000E09
01110207530000010000E09
01110207530000120000E09
Aufgeteilt:
01 11 02 07 47 000007 0000 E 09
01 = Firmenkodex (bleibt immer 01)
11 = Monat
02 = Tag
07 = Stunde
47 = Minute
000007 = Userkodex (ich habe hierbei eine "Übersetzungsliste", welche mir z. B. sagt: Userkodex 2816 im neuen File ist Userkodex 000007 im alten File. Hier müsste man also ein paar IF's einbauen)
0000 = Fülldaten, bleiben immer 0000
E = Eingang (gleiches Spiel hier: IF 246 then "E" elseif 247 then "U")
U = Austritt
09 = Jahr
Denkt ihr jemand bekommt das für mich hin? Wäre euch echt dankbar!!
Wenn ich noch irgendetwas klären muss, könnt ihr natürlich gerne jederzeit fragen.
Schöne Grüße aus dem verschneiten Südtirol
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130797
Url: https://administrator.de/forum/text-zeilenweise-per-batch-auslesen-und-anpassen-bzw-umsortieren-130797.html
Ausgedruckt am: 24.12.2024 um 01:12 Uhr
8 Kommentare
Neuester Kommentar
Hi,
das muste doch das sein was du haben willst
das muste doch das sein was du haben willst
@ECHO OFF & setlocal enabledelayedexpansion
for /f %%i in (D:\test.txt) do (
echo %%i
set eingangsstring=%%i
set userkodex=!eingangsstring:~0,4!
set firmenkodex=!eingangsstring:~4,5!
set eingang=!eingangsstring:~9,3!
set monat=!eingangsstring:~12,2!
set tag=!eingangsstring:~14,2!
set stunde=!eingangsstring:~16,2!
set minute=!eingangsstring:~18,2!
set jahr=!eingangsstring:~20,2!
set neuerstring=01!monat!!tag!!stunde!!minute!
REM hier deine entscheidungstabenlle
set neuerstring=!neuerstring!____0000
REM ___ ist Platzhalter für den fehlenden wert.
if "!eingang!" == "246" (
set neuerstring=!neuerstring!E
)
if "!eingang!" == "247" (
set neuerstring=!neuerstring!U
)
set neuerstring=!neuerstring!!jahr!
echo !neuerstring!
echo.
echo !neuerstring! >> D:\test2.txt
)
Hi,
die Tags für die Formatierung stehen alle im den FAQs
Formatierungen in den Beiträgen
Gruß Miyamoto
die Tags für die Formatierung stehen alle im den FAQs
Formatierungen in den Beiträgen
Gruß Miyamoto
Moin MarkusKirchler,
Konservativ wie ich bin, halte ich doch mehr von "nachhaltigem Lernen" als von diesem neumodischen RTL-Supernanny-pimp-my-life-Gelumpe.
Wenn du trotz Adventszeit noch etwas Gutes tun magst: Gehe noch ein letztes Mal auf deinen vorvorletzten Kommentar, "Editiere" ihn und probiere die bei uns im Forum vorgesehene < code > </ code > -Formatierung (ohne Leerzeichen) aus.
Danke und schönen Nachmittag
Biber
Zitat von @MarkusKirchler:
Ach Mist, darauf hätte ich auch selber kommen können, dass ich das so machen muss:
Keine Sorge - hier im Forum gebe ich gerne jedem die Zeit, selbst darauf zu kommen... Ach Mist, darauf hätte ich auch selber kommen können, dass ich das so machen muss:
Konservativ wie ich bin, halte ich doch mehr von "nachhaltigem Lernen" als von diesem neumodischen RTL-Supernanny-pimp-my-life-Gelumpe.
Wenn du trotz Adventszeit noch etwas Gutes tun magst: Gehe noch ein letztes Mal auf deinen vorvorletzten Kommentar, "Editiere" ihn und probiere die bei uns im Forum vorgesehene < code > </ code > -Formatierung (ohne Leerzeichen) aus.
Danke und schönen Nachmittag
Biber