- Ich habe zwei Batch-Dateien x.bat und y.bat.
- Ich rufe y.bat von x.bat an.
- Die Datei y.bat setzt eine env Variable wie: setze ABC =
- Einschränkung ist, dass ich diese Y.bat-Datei nicht ändern kann, aber ich möchte, dass meine Variable "ABC" als etwas anderes festgelegt wird.
- Wie kann ich "ABC" in X.bat so einstellen, dass es nicht durch den Befehl a.bat file set überschrieben wird?
batch-file
RISHABH RASTOGI
quelle
quelle
Sie können nicht vermeiden
y.bat
vom Ändern des Wertes in der Variablen. Die Umgebungsvariablen können weder als Konstanten definiert noch als schreibgeschützt oder schreibgeschützt markiert werden. Wenn die aufgerufene Batchdatei die Variable ändert und Sie die Batchdatei nicht ändern können, können Sie die Änderung nicht vermeiden.Das einzige, was Sie vermeiden können, ist die Weitergabe der Änderungen in der Variablen, die Auswirkungen auf die
x.bat
x.bat
y.bat
setlocal
generiert eine Kopie des Umgebungsbereichs und setzt diese Kopie als aktiv. Alle Änderungen werden in dieser Kopie bis zum nächsten durchgeführtendlocal
Dadurch wird die Kopie verworfen und die vorherige Umgebung wiederhergestellt.quelle