Replacement in string
Verfasst: 05 Dez 2018, 10:38
Hallo,
ich möchte in einem OPSI setupscript Teile einer string Variable ersetzen, konkret will ich in einem Dateipfad alle Backslashes durch zwei ersetzen: zB: C:\Program Files\foo wird zu C:\\Program Files\\foo da ich dies in einer client-spezifischen config Datei benötige.
Allerdings kenne ich den Pfad nicht a priori, sondern erhalte diesen mittels Umgebungsvariable %ProgramFiles%, deshalb muss das replacement dynamisch passieren.
Meine setup.opsiscript sieht etwa so aus:
Allerdings scheinen Lösungen wie https://stackoverflow.com/questions/277 ... batch-file nicht zu klappen, ich vermute da die Prozentzeichen mit der OPSI Notation für Konstanten in die Quere kommen?
Ich habe folgende Varianten probiert: und
leider ohne Erfolg.
Für Hilfe wäre ich dankbar!
ich möchte in einem OPSI setupscript Teile einer string Variable ersetzen, konkret will ich in einem Dateipfad alle Backslashes durch zwei ersetzen: zB: C:\Program Files\foo wird zu C:\\Program Files\\foo da ich dies in einer client-spezifischen config Datei benötige.
Allerdings kenne ich den Pfad nicht a priori, sondern erhalte diesen mittels Umgebungsvariable %ProgramFiles%, deshalb muss das replacement dynamisch passieren.
Meine setup.opsiscript sieht etwa so aus:
Code: Alles auswählen
[Initial]
encoding=UTF-8
requiredWinstVersion >= 4.11.4.3
DefVar $myPath$
Set $myPath$ = "%ProgramFiles%\foo"
[Actions]
Dosbatch_install
[Dosbatch_install]
ERSETZE \ mit \\ in $myPath$
echo $myPath$ >> C:\client.conf
Ich habe folgende Varianten probiert:
Code: Alles auswählen
call set myPath=%%myPath:\=\\%%
bzw.
call set myPath=%%$myPath$:\=\\%%
Code: Alles auswählen
setlocal ENABLEDELAYEDEXPANSION
call set myPath=%myPath:\=\\%
bzw.
call set myPath=%$myPath$:\=\\%
Für Hilfe wäre ich dankbar!