phoenix22
Goto Top

Batch - Textdatei erstellen - Problem mit Leerzeilen

Hallo face-smile
Habe folgendes Problem.
Ich lese eine Textdatei aus, passe ggfs. Zeilen an und erstelle eine neue Datei.

@ECHO off
SETLOCAL enabledelayedexpansion
....
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO (  
   SET zeile=%%i
   REM  Zeile ggfs. ändern
   REM  Nun die neue Zeile wieder in eine neue Datei schreiben:
   ECHO !zeile!>>!ziel_datei!
)

Das klappt hervorragend, aber leider ....
War in der Quelldatei eine Leerzeile, dann steht in der neuen Datei "Echo ist ausgeschaltet (off)."

Ich habe folgendes entdeckt/probiert, hilft aber nicht:
   IF [!zeile!]== (ECHO.>>!ziel_datei!) ELSE (ECHO !zeile!>>!ziel_datei!)


Bin dankbar für jede Hilfe face-smile

Content-Key: 503104

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

Printed on: April 19, 2024 at 10:04 o'clock

Member: NordicMike
NordicMike Oct 10, 2019 at 19:02:07 (UTC)
Goto Top
Richtig. Eine leere Zeile ist "nix". Ein Echo ohne Inhalt (mit nix) dahinter gibt Dir nur den Status von Echo aus, also echo off.

Versuch mal eine new Line zu senden:

  echo "`n">>!ziel_datei!  

um eine leere Zeile zu schreiben.
Member: Phoenix22
Phoenix22 Oct 10, 2019, updated at Oct 11, 2019 at 07:05:23 (UTC)
Goto Top
Es kommt ja gar nicht erst zum Schreiben, da die IF Abfrage ja nicht erfüllt zu sein scheint.
Mir fehlt wohl die richtige Abfrage ala "wenn Zeile leer, dann".
ECHO.>>!ziel_datei!
Das klappt super zum Einfügen einer Leerzeile, aber das ist eben nicht das Problem.
Das Problem ist das Auslesen und Übertragen einer Leerzeile.
IF [!zeile!]== (ECHO.>>!ziel_datei!) ELSE (ECHO !zeile!>>!ziel_datei!)
IF !zeile! EQU "" (ECHO.>>!ziel_datei!) ELSE (ECHO !zeile!>>!ziel_datei!)  
Beide geht nicht.
Mitglied: 141320
Solution 141320 Oct 11, 2019 at 07:28:53 (UTC)
Goto Top
Das sieht einer den Wald vor lauter Bäumen nicht
>>!ziel_datei! echo(!zeile!
Member: Phoenix22
Phoenix22 Oct 11, 2019 at 07:42:08 (UTC)
Goto Top
Klasse, das isses.
Einziger Unterschied: In der Ziel-Datei ist mit dieser Lösung statt einer Leerzeile ein Tab. Kann man das auch noch vermeiden?
Mitglied: 141320
141320 Oct 11, 2019 updated at 07:56:03 (UTC)
Goto Top
Zitat von @Phoenix22:

Klasse, das isses.
Einziger Unterschied: In der Ziel-Datei ist mit dieser Lösung statt einer Leerzeile ein Tab.
Nö, den hast du da selbst reingepfuscht, weil du die Zeile set zeile=%%i nicht vernünftig abgeschlossen hast set "zeile=%%i"
Member: Phoenix22
Phoenix22 Oct 11, 2019 updated at 10:21:25 (UTC)
Goto Top
Nö, das hat nicht geholfen, immer noch der Tab statt richtig leere Zeile.


UUUUUUUUUUUUUUUUUUUUPS,
großes Sorry, die Tabs waren schon in der Quelle.

ALLES BESTENS - VIELEN DANK FÜR DIE HILFE face-smile