Txt Datei (Bord512) durch Batch oder VB Script verändern.
Einen wunder schönen Mittag Zusammen,
ich hab folgendes Problem, wo ich im Moment keine Idee habe wie ich es lösen soll.
Ich hab einen Ordner voller txt. Dateien, deren Inhalt dem BORD512 Standard entspricht.
Zeile1:@@PHSTAT512-0512 Weitere Informationen von Zeile 1
Zeile2:Q0011111111111 Weitere Informationen von Zeile 2
Zeile3:Q102222222222- Weitere Informationen von Zeile 3
Zeile4:Q203333333333- Weitere Informationen von Zeile 4
Bindestriche sind leer Felder
Nun benötige ich eine Batch oder einen VB Script, der von Zeile 3 ab Q10 (also der dritten stelle) die weiteren 11 Stellen Kopiert und die 11 Stellen Ab Q00 in Zeile 2 Überschreibt.
Die weiteren Informationen in beiden Zeilen sollen unberührt bleiben.
Das Ergebnis sollte dann so aussehen:
Zeile1:@@PHSTAT512-0512 Weitere Informationen von Zeile 1
Zeile2:Q102222222222- Weitere Informationen von Zeile 2
Zeile3:Q102222222222- Weitere Informationen von Zeile 3
Zeile4:Q203333333333- Weitere Informationen von Zeile 4
Ich hoffe Ihr könnt verstehen was ich Meine, konnte durch die Suche nichts passendes finden.
Würde mich über Lösungsvorschläge riesig freuen.
Gruß Matze
ich hab folgendes Problem, wo ich im Moment keine Idee habe wie ich es lösen soll.
Ich hab einen Ordner voller txt. Dateien, deren Inhalt dem BORD512 Standard entspricht.
Zeile1:@@PHSTAT512-0512 Weitere Informationen von Zeile 1
Zeile2:Q0011111111111 Weitere Informationen von Zeile 2
Zeile3:Q102222222222- Weitere Informationen von Zeile 3
Zeile4:Q203333333333- Weitere Informationen von Zeile 4
Bindestriche sind leer Felder
Nun benötige ich eine Batch oder einen VB Script, der von Zeile 3 ab Q10 (also der dritten stelle) die weiteren 11 Stellen Kopiert und die 11 Stellen Ab Q00 in Zeile 2 Überschreibt.
Die weiteren Informationen in beiden Zeilen sollen unberührt bleiben.
Das Ergebnis sollte dann so aussehen:
Zeile1:@@PHSTAT512-0512 Weitere Informationen von Zeile 1
Zeile2:Q102222222222- Weitere Informationen von Zeile 2
Zeile3:Q102222222222- Weitere Informationen von Zeile 3
Zeile4:Q203333333333- Weitere Informationen von Zeile 4
Ich hoffe Ihr könnt verstehen was ich Meine, konnte durch die Suche nichts passendes finden.
Würde mich über Lösungsvorschläge riesig freuen.
Gruß Matze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208357
Url: https://administrator.de/contentid/208357
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo
Per Batch kannst du es mal damit versuchen:
In und out sind die zu lesende und die entstehende / veränderte Datei.
Gruß
...
Per Batch kannst du es mal damit versuchen:
@echo off
set in="Datei.txt"
set out="Datei_neu.txt"
set "z1="
FOR /F "delims=" %%i in ('type %in%') do if not defined z1 set "z1=%%i"
set "z2="
FOR /F "skip=1 delims=" %%i in ('type %in%') do if not defined z2 set "z2=%%i"
set "z3="
FOR /F "skip=2 delims=" %%i in ('type %in%') do if not defined z3 set "z3=%%i"
set pz2=%z2:~14%
set pz3=%z3:~3,11%
>%out% echo %z1%
>>%out% echo Q10%pz3%%pz2%
>>%out% echo %z3%
>>%out% more +3 %in%
In und out sind die zu lesende und die entstehende / veränderte Datei.
Gruß
...
moin DerOri,
ungetestet aus dem Handgelenk geschüttelt:
Gruß Phil
ungetestet aus dem Handgelenk geschüttelt:
@echo off
setlocal disabledelayedexpansion
set "Input=D:\diepaar*.txt"
set "OutputEXT=_neu.txt"
for %%i in ("%input%") do call :read "%%~i"
exit /b 0
:read
findstr /n . %1 > "%temp%\NR.tmp"
>"%~dpn1%outputext%" (
for /f "usebackqdelims=" %%a in ("%temp%\NR.tmp") do (
set "Line=%%a"
for /f "tokens1,*delims=:" %%N in ("%%a") do (
setlocal enabledelayedexpansion
if %%N equ 2 (endlocal & set "Line2=%%M"
) else if %%N equ 3 (echo !Line2:~0,3!!Line:~5,13!!Line2:~14!
echo !Line:*:=!
) else echo !Line:*:=!
) )
)
Gruß Phil