Umgebungsvariablen (zB% PATH%) Erweiterungsregeln usw
Ich versuche zu verstehen, ob eine erweiterbare Zeichenfolge in der Path
Umgebungsvariablen eines Benutzers ordnungsgemäß erweitert wird.
Da es anscheinend an einer angemessenen Dokumentation auf der MS-Website mangelt ( dies sind die nächsten, die ich finden kann; SE-Threads hier und hier gelten ebenfalls), können meine Fragen (und Beobachtungen) wie folgt kategorisiert werden.
Variablentyp
- MS-Dokumente, dass es sich um einen String, Expandable String oder Multistring handeln kann.
- Standard scheint Standard String zu sein.
- Beim Multistring wird nur der erste String erkannt.
- Mein System scheint periodisch zu einer Standardzeichenfolge zurückzukehren, nachdem Variablen zuerst (mit festen Werten) aus einer erweiterbaren Zeichenfolge erweitert wurden.
- Ich bin nicht sicher, ob es Microsoft Updates oder nicht autorisierte Installationsprogramme sind, die den Typ wieder in Standardzeichenfolge ändern.
Umgebungsvariable Expansionsebenen
- Auf wie viele Schichten der variablen Erweiterung kann ich mich verlassen? Dieser SE-Thread scheint darauf hinzudeuten, dass er nicht vorhersagbar ist.
- Im
Path=%A_ProPath%
Moment ist A_ProPath eine weitere erweiterbare Zeichenfolge, die beginnt%_SysPWin%;%_SysPIntel%;%_SysPVSdotNET%;%_SysPPy%;%_SysPPerl%;%_SysPChoc%;%_SysPJava%;%_SysPSQL%;
. - Wenn ich jedoch innerhalb von% _SysPIntel% auf% _Intel_SW% (C: \ Programme (x86) \ IntelSWTools) verweise, wird dies nicht erweitert.
- Im
- Ich erhielt unterschiedliche Ergebnisse, wenn ich einen Variablentyp auf "erweiterbar" gesetzt hatte, jedoch ohne
%var%
Referenzen darin oder nur den Variablentyp auf Standardstring setzen. Es scheint, dass Verweise auf Standardzeichenfolgen häufiger als Verweise auf erweiterbare Zeichenfolgen erweitert werden. Warum ist das?
- Auf wie viele Schichten der variablen Erweiterung kann ich mich verlassen? Dieser SE-Thread scheint darauf hinzudeuten, dass er nicht vorhersagbar ist.
Erweiterungssequenz von erweiterbaren Zeichenketten
- Die Erweiterung der Variablen ist nicht rekursiv, daher scheint es kein Problem mit zyklischen Verweisen zu geben
- Die Erweiterung scheint nur in alphabetischer Reihenfolge und nur in einem Durchlauf (pro Ebene: System und dann Benutzer) zu erfolgen.
- Die Reihenfolge, in der Sie Variablenwerte hinzufügen oder bearbeiten, scheint nicht von Bedeutung zu sein
- Bei Variablen wird die Groß- und Kleinschreibung nicht berücksichtigt
Path
in Ihren Systemvariablen ist das Gleiche wie%PATH%
oder%path%
in einem Eingabeaufforderungsfenster.Ich weiß nicht, ob sie vor der Alphabetisierung in einen einzigen Fall konvertiert werden.
Ich glaube, ich habe angefangen,
_
meine Variablennamen abzuleiten, da Werte in alphabetischer Reihenfolge nicht in Path enthalten waren. Dies würde jedoch bedeuten, dass Sie% SystemRoot% oder% WinDir% nicht direkt in einem Pfad verwenden können. Ist das sinnvoll?Unter der Annahme, dass Umgebungsvariablen in der Reihenfolge ihres alphabetischen Erscheinungsbildes erweitert werden, nehme ich an, dass Umgebungsvariablen die Groß- und Kleinschreibung nicht berücksichtigen. Werden die Umgebungsvariablen beim Sortieren von nicht alphabetischen Zeichen so bewertet, als ob alle Buchstaben in der Großschreibung liegen, und dann mit dem ASCII-Wert verglichen werden (z. B. Perlre
[0-9\- _]
vor az)? oder vor dem ASCII-Vergleich (_
kommt nach dem Alphabet)?Was sind die zulässigen Zeichen, die in Variablennamen verwendet werden? Kann
~[]()
usw. verwendet werden??*!.
?Wenn es eine Systemumgebungsvariable namens PATH und einen Benutzer PATH gibt, der zuerst ausgewertet wird? Kann mein Benutzer PATH auf benutzerdefinierte Variablen auf Systemebene verweisen?
0 Antworten auf die Frage
Verwandte Probleme
-
12
Warum wird der Ordner / winsxs so groß und kann er verkleinert werden?
-
2
Erhöhte Berechtigungen für Startanwendungen in Windows?
-
14
PDF Viewer unter Windows
-
7
Welche Windows-Dienste kann ich sicher deaktivieren?
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
1
Windows verliert das Bildschirmlayout
-
1
Gibt es eine Möglichkeit, Installationen / Updates zu verhindern, die meine Festplatte mit kryptisch...
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
6
Log Viewer unter Windows
-
3
Windows-Hintergrundproblem mit zwei Bildschirmen