Wie unterdrücken Sie die Erweiterung von Umgebungsvariablen in DOS und Windows CMD?

Dies ist ein vereinfachtes Beispiel mit geänderten Variablennamen für das, was ich tun möchte. Außerdem zeige ich der Einfachheit halber die Befehlszeilenversion und nicht die Version der Fledermausdatei.

Ich mache folgendes.

> echo %foo%

%foo%

Wenn jedoch foo eine gültige Umgebungsvariable ist, erhalte ich keine gewünschte Ausgabe (%foo%) aufgrund von Umgebungsvariablenexpansion.

> set foo=bar
> echo %foo%
> echo %%foo%%

bar
%bar%

Jetzt habe ich einen Hack zu tun (folgendes Beispiel), aber ich habe mich gefragt, ob es einen saubereren Weg gibt, um entweder a auszugeben% Zeichen oder zur Unterdrückung der Erweiterung von Umgebungsvariablen.

> set foo=bar
> set percent=%
> echo %percent%foo%percent%

%foo%

Auch wenn die benötigte Lösung in einer bat-Datei unterschiedlich ist (wie z%% eher, als% oder%1% eher, als%1) Lass es mich wissen, bitte.

Mein eigentlicher Anwendungsfall liegt in einer Fledermausdatei mitSETX um globale Umgebungsvariablen zu setzen, die von einer anderen Umgebungsvariablen abhängig sind, die in ihnen erweitert werden soll, aber ich bin gespannt, wie man sie in DOS oder cmd erweitert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage