Das Programm ist konstant

2

Cmd.exe hat den SETBefehl, der zum Beispiel alle "%" Konstanten auflistet %USERNAME%, %ProgramFiles%oder %CUSTOMDEFINEDCONSTANT%. Nach dem Ausstellen des START firefox Browsers tauchte jedoch sofort mein Browser auf, obwohl weder erwähnt firefoxnoch erwähnt %firefox%worden war!

Warum gibt es zwei Arten von Konstanten? Für mich scheint die "Programmkonstante" (die ich grob gesagt habe) bisher überflüssig zu sein, weil START% programName% ausreichen würde, nicht wahr? Ich frage auch nach dem Gegenstück des SETBefehls für diesen seltsamen Konstantentyp.

Die Frage ist elementar, aber ich habe mich entschlossen, sie hier zu stellen, weil es keine Suchkoordinaten oder Stichwörter gibt.

0x6B6F77616C74
quelle
Das sind Environment Variables. Suchen Sie auch nach PATH, das ist auch eine Umgebungsvariable, und erklären Sie, warum Sie dies tun können START firefox.
Fmanco
@criziot PATH | FINDSTR firefoxliefert keine Ergebnisse.
0x6B6F77616C74
PATHhat eine Liste von Verzeichnissen mit Binärdateien. Wenn Sie versuchen, eine Binärdatei auszuführen, cmdwird in den unter angegebenen Verzeichnissen danach gesucht PATH. Ist firefoxalso nicht in PATH, sondern muss das Verzeichnis sein, das die firefoxBinärdatei enthält . Auch das solltest du tun, um echo $PATHzu sehen PATH.
Fmanco
> Außerdem sollten Sie $ PATH als Echo eingeben, um den PATH anzuzeigen. Sie denken an PowerShell. Das OP verwendet, cmdwo tatsächlich ein Befehl aufgerufen wird path, der den Pfad anzeigt oder festlegt.
Synetech
@Synetech Ich bin kein Windows-Benutzer, daher war mir das nicht bewusst. Danke für die Reparatur.
Fmanco

Antworten:

4

Ich glaube, dass unter anderem in diesem Registrierungsschlüssel nach dem Namen der ausführbaren Datei gesucht wird:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Mit diesem Schlüssel kann sich eine Anwendung für die Ausführung registrieren, ohne die Variable PATH zu ändern. MSDN enthält weitere Informationen zur Anwendungsregistrierung .

Andrew Lambert
quelle