mit batch Textzeile formatieren
Habe folgendes Problem.
Ich habe eine vorhandene Textdatei in der dies drin steht:
Dies
ist
ein
Text
Wie schaffe ich es nun mit batch diesen Text so zu formatieren, das am Ende dies herauskommt:
Dies
ist ein
Text
Also wie man sieht, will ich nur Zeile 2 und 3 zu einer Zeile bearbeiten, der Rest soll so bleiben.
Wie stelle ich das am besten an?
Danke für jede Hilfe
Ich habe eine vorhandene Textdatei in der dies drin steht:
Dies
ist
ein
Text
Wie schaffe ich es nun mit batch diesen Text so zu formatieren, das am Ende dies herauskommt:
Dies
ist ein
Text
Also wie man sieht, will ich nur Zeile 2 und 3 zu einer Zeile bearbeiten, der Rest soll so bleiben.
Wie stelle ich das am besten an?
Danke für jede Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83782
Url: https://administrator.de/contentid/83782
Ausgedruckt am: 25.11.2024 um 07:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo sabio23 und willkommen im Forum!
Wenn es nur von der Zeilennummer abhängt, könntest Du so vorgehen:
In"set Zeile=2" wird festgelegt, an Zeile welche die darauffolgende Zeile angefügt werden soll.
Um abschließend die Quelldatei durch die Zieldatei zu ersetzen (also sozusagen die Änderung "in der Quelldatei" durchzuführen), müsstest Du nur die beiden ":" vor "move" entfernen.
Grüße
bastla
Wenn es nur von der Zeilennummer abhängt, könntest Du so vorgehen:
@echo off & setlocal
set "Quelle=D:\Text.txt"
set "Ziel=D:\TextNeu.txt"
set "Zeile=2"
set /a ZeilenNr=0
set AusgabeZeile=
if exist "%Ziel%" del "%Ziel%"
for /f "usebackq delims=" %%i in ("%Quelle%") do call :ProcessLine "%%i"
::move "%Ziel%" "%Quelle%"
goto :eof
:ProcessLine
set /a ZeilenNr+=1
if defined AusgabeZeile goto :Ausgabe
if %ZeilenNr% neq %Zeile% (echo %~1>>"%Ziel%") & goto :eof
set "AusgabeZeile=%~1" & goto :eof
:Ausgabe
echo %AusgabeZeile% %~1>>"%Ziel%"
set AusgabeZeile=
goto :eof
Um abschließend die Quelldatei durch die Zieldatei zu ersetzen (also sozusagen die Änderung "in der Quelldatei" durchzuführen), müsstest Du nur die beiden ":" vor "move" entfernen.
Grüße
bastla