steven123
Goto Top

Batch für Textdatei - Sonderzeichen an bestimmter Stelle in fortlaufender Ausgabe

Hallo Zusammen,

ich habe ein Problem, bei dem ich nicht weiterkomme und Euere Hilfe benötige.

Ich habe eine Textdatei, in der die Datensätze einer Access-Tabelle in einer festen Länge bzw. Abständen zwischen den Werten ausgegeben werden.

Beispiel

A1 Schmidt Stefan 12061975 PB A2 Huber Karl 11111988 PB A3 Mustermann


Um die Datei weiterzuverarbeiten, benötige ich das "#"-Zeichen, jeweils genau an der 3. Stelle hinter dem Wert "PB" oder der 3. Stelle vor "A....".

Lediglich vor dem ersten A bzw. dem letzten PB soll kein # eingefügt werden.

Ergebnis

A1 Schmidt Stefan 12061975 PB # A2 Huber Karl 11111988 PB # A3 Mustermann


Mit Access habe ich es bei der Ausgabe nicht hinbekommen.

Hat jemand eine Idee?

Danke und Gruss

Stefan

Content-ID: 274140

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

Ausgedruckt am: 23.11.2024 um 06:11 Uhr

KayManHey
KayManHey 10.06.2015 um 09:40:50 Uhr
Goto Top
Hi =)
Das würde mit einer Batch wesentlich komplizierter werden, als wenn du das mit einem kleinen Programm machen würdest.
Dort könntest du dir beispielsweise mit einem Stringbuffer oder Stringbuilder (Java) in einer entsprechenden Schleife alles zusammenbasteln. Dürfte ein 10 Zeiler werden^^
Allerdings bin ich in der Batch-Programmierung lang nicht zu gut wie Andere hier, die vielleicht doch eine leichtere Lösung kennen.
Aber ich würde ein kleines Programm dafür schreiben.
bastla
Lösung bastla 10.06.2015, aktualisiert am 11.06.2015 um 20:40:57 Uhr
Goto Top
Hallo Steven123 und willkommen im Forum!

Ich sähe es zwar als sinnvoller an, die Daten (aus Access) bereits passend auszugeben - aber da nach einem Batch gefragt war, im einfachsten Fall etwa so:
@echo off & setlocal
set "Ein=D:\Daten_ein.txt"  
set "Aus=D:\Daten_aus.txt"  
set "Von=PB A"  
set "Nach=PB # A"  

del "%Aus%" 2nul  
for /f "usebackq delims=" %%i in ("%Ein%") do (  
    set "Satz=%%i"  
    setlocal enabledelayedexpansion
    >>"%Aus%" echo !Satz:%Von%=%Nach%!  
    endlocal
)
Grüße
bastla
Steven123
Steven123 11.06.2015 um 20:40:50 Uhr
Goto Top
Danke
Steven123
Steven123 11.06.2015 um 20:41:42 Uhr
Goto Top
Herzlichen Dank. Funktioniert hervorragen . besser gehts nicht