bitschreck

Das Zeichen größer per Batch in Datei schreiben

Hallo, ich möchte einen Text mit einem > in eine Datei schreiben. Habe
schon herausgefunden, das ich das < escapen muß, aber womit? ^oder !
funktionieren nicht.

Beispiel:

@echo off
set SQLstring=select x, y from db where x > y;
set SQLDatei=MeinSQL.txt
echo %SQLstring%>>%SQLDatei%

Inhalt von MeinSQL.txt
select x, y from db where x ;

Ergebnis bleibt bei ... ^> ... gleich.

Hat jemand eine Idee?

VG
Bitschreck
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673198

Url: https://administrator.de/forum/batch-datei-sql-zeichen-escapen-673198.html

Ausgedruckt am: 29.06.2025 um 16:06 Uhr

BiberMan
Lösung BiberMan 04.06.2025 aktualisiert um 22:34:42 Uhr
Goto Top
@echo off &setlocal EnableDelayedExpansion
set "SQLstring=select x, y from db where x > y;"  
set "SQLDatei=MeinSQL.txt"  
>>"%SQLDatei%" echo !SQLstring!  
TK1987
Lösung TK1987 04.06.2025 um 22:32:25 Uhr
Goto Top
Moin,

mit Verzögerung arbeiten, damit das Zeichen in der Ausgabe nicht mehr Escaped werden muss. Die Umleitung sollte man bei Batch besser immer vor den Befehl stellen.
@echo off
setlocal EnableDelayedExpansion 

set SQLstring=select x, y from db where x ^> y;
set SQLDatei=MeinSQL.txt
>>%SQLDatei% echo !SQLstring!

Gruß Thomas
BitSchreck
BitSchreck 04.06.2025 um 23:58:18 Uhr
Goto Top
Danke für die Erklärungen.
VG Bitschreck