Verbotene Zeichen per Batch in Text-Datei schreiben.
Hallo Batchler,
ích versuche gerade per Batch eine neue Batch zu erstellen.
Dazu habe ich folgenden Skript erstellt. Der Einfachkeit wegen habe ich auch gleich das derzeitige Ergebnis und meinen Wunsch /Ziel darunter gesetzt.
Was mache ich verkehrt? Oder geht das gar nicht, diese Batch-Sonderzeichen per ECHO in eine Datei umzuleiten?
Danke im Voraus für die Mithilfe.
Gruß
max5moritz
ích versuche gerade per Batch eine neue Batch zu erstellen.
Dazu habe ich folgenden Skript erstellt. Der Einfachkeit wegen habe ich auch gleich das derzeitige Ergebnis und meinen Wunsch /Ziel darunter gesetzt.
Was mache ich verkehrt? Oder geht das gar nicht, diese Batch-Sonderzeichen per ECHO in eine Datei umzuleiten?
:start-set
echo if "%~1"=="progs" goto :%~1 > "%~dp0start-set.bat"
echo :start>>"%~dp0start-set.bat"
echo.>>"%~dp0start-set.bat"
echo :progs>>"%~dp0start-set.bat"
echo Diesen Bereich anpassen und abspeichern.>>"%~dp0start-set.bat"
echo.>>"%~dp0start-set.bat"
echo if "%~2"=="" (goto :eof) ELSE goto :%~2 >>"%~dp0start-set.bat"
echo.>>"%~dp0start-set.bat"
echo :stamp>>"%~dp0start-set.bat"
echo set "stamp=%date:~-4%%date:~3,2%%date:~0,2%_%time::=%" >>"%~dp0start-set.bat"
echo set "stamp=%stamp:~0,-3%" >>"%~dp0start-set.bat"
echo goto :eof>>"%~dp0start-set.bat"
echo.>>"%~dp0start-set.bat"
echo :ende>>"%~dp0start-set.bat"
ping -n 2 localhost 1>NUL 2>NUL
notepad "%~dp0start-set.bat"
goto :eof
--------------- Ergebins ------------------------
if ""=="progs" goto :
:start
:progs
Diesen Bereich anpassen und abspeichern.
if ""=="" (goto :eof) ELSE goto :
:stamp
set "stamp=20130128_180503,95"
goto :eof
:ende
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
............. Das Ziel ....................
if "%~1"=="progs" goto :%~1
:start
:progs
Diesen Bereich anpassen und abspeichern.
if "%~2"=="" (goto :eof) ELSE goto :%~2
:stamp
set "stamp=%date:~-4%%date:~3,2%%date:~0,2%_%time::=%"
set "stamp=%stamp:~0,-3%"
goto :eof
:ende
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Danke im Voraus für die Mithilfe.
Gruß
max5moritz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197807
Url: https://administrator.de/forum/verbotene-zeichen-per-batch-in-text-datei-schreiben-197807.html
Ausgedruckt am: 22.12.2024 um 22:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo max5moritz,
das geht schon, Du musst die in Batchscript als Steuerzeichen interpretierten Zeichen jedoch "escapen". In Deinem Beispiel sind es nur Prozentzeichen, die muss man nur verdoppeln. Andere Zeichen (z.B.
Dein Script in funktionierender Form:
Gruß
Friemler
das geht schon, Du musst die in Batchscript als Steuerzeichen interpretierten Zeichen jedoch "escapen". In Deinem Beispiel sind es nur Prozentzeichen, die muss man nur verdoppeln. Andere Zeichen (z.B.
&, <, >, |, ^
) muss man mit ^
"escapen", das ^
-Zeichen wird dann so ^^
"escaped".Dein Script in funktionierender Form:
:start-set
> "%~dp0start-set.bat" echo.if "%%~1"=="progs" goto :%%~1
>>"%~dp0start-set.bat" echo.:start
>>"%~dp0start-set.bat" echo.
>>"%~dp0start-set.bat" echo.:progs
>>"%~dp0start-set.bat" echo.Diesen Bereich anpassen und abspeichern.
>>"%~dp0start-set.bat" echo.
>>"%~dp0start-set.bat" echo.if "%%~2"=="" (goto :eof) else (goto :%%~2)
>>"%~dp0start-set.bat" echo.
>>"%~dp0start-set.bat" echo.:stamp
>>"%~dp0start-set.bat" echo.set "stamp=%%date:~-4%%%%date:~3,2%%%%date:~0,2%%_%%time::=%%"
>>"%~dp0start-set.bat" echo.set "stamp=%%stamp:~0,-3%%"
>>"%~dp0start-set.bat" echo.goto :eof
>>"%~dp0start-set.bat" echo.
>>"%~dp0start-set.bat" echo.:ende
ping -n 2 localhost 1>NUL 2>NUL
notepad "%~dp0start-set.bat"
Gruß
Friemler