Wie kann man verhindern, dass Text-Konstanten (also z.B. %SystemRoot% oder %JAVA_HOME%) in einem Script ersetzt werden?
In Firewall-Regeln oder Environment-Variablen ist es ab und an notwendig, oben genannte Strings zu verwenden. Diese werden natürlich gnadenlos durch OPSI ersetzt, was nicht immer erwünscht ist.
Ich habe schon erfolglos versucht das ganze mit \% zu escapen oder mittels %% zu umgehen.
Daher wie macht man das ?
Danke!
Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%
Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%
Hi,
das geht zum Beispiel mit Umweg über eine Variable:
Schönen Gruß
Holger
das geht zum Beispiel mit Umweg über eine Variable:
Code: Alles auswählen
[Actions]
DefVar $SystemRootInclPercentSigns$
Set $SystemRootInclPercentSigns$="%" + "SystemRoot" + "%"
Comment "Aufgeloest: %SystemRoot%"
Comment "Nicht aufgeloest: " + $SystemRootInclPercentSigns$
Holger
Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%
holgerv hat geschrieben:Code: Alles auswählen
[Actions] DefVar $SystemRootInclPercentSigns$ Set $SystemRootInclPercentSigns$="%" + "SystemRoot" + "%" Comment "Aufgeloest: %SystemRoot%" Comment "Nicht aufgeloest: " + $SystemRootInclPercentSigns$
Das ist ja wie mit dem Pfeil durch den Rücken mitten ins Auge zu schießen...
Aber: Ja, das geht. Nicht gerade intuitiv dafür aber extrem kreativ! Danke!
Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%
Es geht auch kürzer und ohne Variable:
Warum ich ursprünglich den Umweg über die Variable gegangen bin, weiß ich gar nicht mehr. Es gab irgend eine Situation, wo ich das brauchte.
Code: Alles auswählen
[Actions]
Comment "Nicht aufgeloest: " + "%" + "SystemRoot" + "%"