Stringoperationen in der DOS Batch – Ersetzen und Ausschneiden

Ersetzen und Ausschneiden in der CMD Batchprogrammierung (DOS CMD).
Manchmal muss man auch in einem Batch Stringoperationen durchführen.
So kann man es machen:
set MSG=Textbeispiel
Dieser String dient im folgenden als Test- und Textbeispiel.

echo %MSG:t=u%
Ersetze alle t durch ein u (Groß-/Kleinschreibung wird nicht beachtet!). Das ergibt somit:
uexubeispiel

echo %MSG:xt=st%
Ersetze alle „xt“ Strings durch den String „st“ :
Testbeispiel

echo %MSG:~4%
Schneide die ersten 4 Zeichen ab:
beispiel

echo %MSG:~-5%
Schneide bis auf die letzten 5 Zeichen ab:
spiel

echo %MSG:~4,-5%
Schneide ab der 4. bis zur 5. Stelle von hinten heraus:
bei

echo %MSG:~8,2%
Schneide ab der 8.Stelle 2 Zeichen heraus :
pi

In einem konkreten Fall sollte sichergestellt sein, dass ein externer Programmaufruf mit
programmname.exe „parameter1“
Nicht durch parameter1=“Das ist ein „toller“ Text“ in einen Fehler läuft:
Programmname.exe „“Das ist ein „toller“ Text““
Durch set parameter1=%parameter1:“=\“% konnten die Anführungszeichen maskiert werden!
Programmname.exe „\“Das ist ein \“toller\“ Text\““

 

LegoCity02


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert