
55201
25.10.2007, aktualisiert am 26.10.2007
Zeichen innerhalb von ECHO maskieren
Ich habe folgendes Probelm:
Ich möchten den nachfolgenden Code in eine Batchdatei schreiben lassen, von einer anderen Batchdatei.
Etwas konkreter:
Skript1.cmd erzeugt eine Datei Skript2.cmd
in Skript1.cmd soll folgende Zeile stehen:
Skript2.cmd soll anschließend eine Datei auswerten können, um sich von dort Variablen herzuziehen.
z.B.:
H:\bin>type variables.txt
SERVERNAME:blabla
USERNAME:user1
Hier nun das Probelm:
Ich komme hierbei mit der Maskierung der "%" und "|" Zeichen nicht klar
Folgende Zeilen innherhalb von Skript1.cmd:
Erzeugt folgende Einträge in Skript2.cmd:
Hat jemand eine Idee, wie ich die Zeile im ECHO schreiben muss, dass die korrekte, unten noch einmal genannte Zeile in Skript2.cmd geschrieben wird?
Ich möchten den nachfolgenden Code in eine Batchdatei schreiben lassen, von einer anderen Batchdatei.
FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATH% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I
Etwas konkreter:
Skript1.cmd erzeugt eine Datei Skript2.cmd
in Skript1.cmd soll folgende Zeile stehen:
ECHO FOR /F "usebackq .....>>Skript2.cmd
Skript2.cmd soll anschließend eine Datei auswerten können, um sich von dort Variablen herzuziehen.
z.B.:
H:\bin>type variables.txt
SERVERNAME:blabla
USERNAME:user1
Hier nun das Probelm:
Ich komme hierbei mit der Maskierung der "%" und "|" Zeichen nicht klar
Folgende Zeilen innherhalb von Skript1.cmd:
@echo off
SET PATHFILE=H:\bin\variables.txt
ECHO @echo off>Skript2.cmd
ECHO FOR /F "usebackq tokens=2 delims=:" ^%%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=^%%I>>Skript2.cmd
ECHO FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I>>Skript2.cmd
ECHO FOR /F "usebackq tokens=2 delims=:" %%%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%%I>>Skript2.cmd
Erzeugt folgende Einträge in Skript2.cmd:
@echo off
FOR /F "usebackq tokens=2 delims=:" %I IN (`H:\bin\variables.txt | findstr "SERVERNAME"`) DO @SET SERVER=%I
FOR /F "usebackq tokens=2 delims=:" %I IN (`H:\bin\variables.txt | findstr "SERVERNAME"`) DO @SET SERVER=%I
FOR /F "usebackq tokens=2 delims=:" %PATHFILE%I
Hat jemand eine Idee, wie ich die Zeile im ECHO schreiben muss, dass die korrekte, unten noch einmal genannte Zeile in Skript2.cmd geschrieben wird?
FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATH% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71889
Url: https://administrator.de/forum/zeichen-innerhalb-von-echo-maskieren-71889.html
Ausgedruckt am: 22.05.2025 um 05:05 Uhr
4 Kommentare
Neuester Kommentar
Sorry, sebrab,
auf das Caret und das Pipe-Symbol hatte ich gar nicht mehr geachtet - Du hast Recht, die müssen auch maskiert werden.
Die vorhandenen %-Zeichen dagegen nur verdoppelt, nicht maskiert.
Grüße
Biber
auf das Caret und das Pipe-Symbol hatte ich gar nicht mehr geachtet - Du hast Recht, die müssen auch maskiert werden.
Die vorhandenen %-Zeichen dagegen nur verdoppelt, nicht maskiert.
@Echo FOR /F "usebackq tokens=2 delims=:" %%%%I IN (`%%PATH%% ^^^| findstr "SERVERNAME"`) DO @SET SERVER=%%%%I>test.bat
Grüße
Biber