Leerzeile und reservierte Zeichen in Datei schreiben
Hallo,
ich verstehe das mit der Maskierung nicht. Ich versuche hier eine Leerzeile und von der Eingabeaufforderung reservierte Zeichen in eine Batch Datei zu schreiben aber die Zeichen werden aufgelöst und ausgeführt bevor sie geschrieben werden.
ich verstehe das mit der Maskierung nicht. Ich versuche hier eine Leerzeile und von der Eingabeaufforderung reservierte Zeichen in eine Batch Datei zu schreiben aber die Zeichen werden aufgelöst und ausgeführt bevor sie geschrieben werden.
cls
echo off
REM Folgende Leerzeilen nicht entfernen
SET NeueZeile=^
REM Ende Leerzeichen nicht entfernen
echo aa >test.bat
REM Ende Leerzeichen nicht entfernen
REM Es wird nur REM geschrieben
ECHO REM >NUL 1>NUL 2>NUL >> test.bat
REM Versuch einer Leerzeile
echo %NeueZeile% >>test.bat
echo >>test.bat
REM Es wird der tatsächliche Programmpfad in die Datei geschrieben, nicht diese Zeichen: %~d0%~p0
ECHO SET Programmdateipfad=%~d0%~p0 >> test.bat
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 519030
Url: https://administrator.de/forum/leerzeile-und-reservierte-zeichen-in-datei-schreiben-519030.html
Ausgedruckt am: 22.12.2024 um 16:12 Uhr
2 Kommentare
Neuester Kommentar
Eine Leere Zeile schreiben geht einfach mit
Beachte, dass du hier kein Leerzeichen zwischen dem echo und dem Punkt lassen darfst.
hier müssen die ">", die geschrieben werden sollen, escaped werden. Darüber hinaus ist >NUL das selbe wie 1>NUL, also doppelt gemoppelt. Allerdings muss ich mich fragen, wieso du REM, welches ohnehin ignoriert wird und daher gar keine Ausgabe haben kann extra umleitest?!
Hier verstehe ich dein Problem nicht. Er macht doch am Ende ein Leerzeichen?!
echo. >>test.bat
Zitat von @anmelder:
Hier müssen einfach die Prozentzeichen verdoppelt werden.REM Es wird der tatsächliche Programmpfad in die Datei geschrieben, nicht diese Zeichen: %~d0%~p0
ECHO SET Programmdateipfad=%~d0%~p0 >> test.bat
ECHO SET Programmdateipfad=%%~d0%%~p0 >> test.bat
ECHO REM >NUL 1>NUL 2>NUL >> test.bat
ECHO REM 1^>NUL 2^>NUL >> test.bat
REM Ende Leerzeichen nicht entfernen
echo aa >test.bat