Wie finde ich den Pfad der Exe, wenn ich eine App über die cmd-Zeile ausführe?

3792
Mal Ross

Wenn ich eine App über die DOS-Eingabeaufforderung in Windows ausführe, befindet sich der betreffende Befehl häufig nicht im aktuellen Verzeichnis, sondern wird über die Umgebungsvariable PATH gefunden. Was ist der schnellste Weg, um den Pfad der tatsächlichen EXE-Datei zu finden, die gerade ausgeführt wird?

7
"Pfad" gibt Ihnen eine Liste, die Sie manuell überprüfen können. Nicht abwesend getroffen schlagen; vor der Rückkehr, oder Sie müssen vielleicht 10 Minuten damit verbringen, Ihren Pfad neu aufzubauen, wie ich es gerade getan habe> _ < Phoshi vor 15 Jahren 1

5 Antworten auf die Frage

7
T. Kaltnekar

Unter Vista können Sie den Namen der ausführbaren Datei in das Suchfeld im Startmenü eingeben. Wenn sie in den Ergebnissen angezeigt wird, klicken Sie mit der rechten Maustaste und wählen "Dateispeicherort öffnen" aus dem Menü.

Wenn das Programm noch läuft und Sie den Process Explorer von Sysinternals verwenden, können Sie in der Prozessliste auf ausführbare Datei klicken und Eigenschaften auswählen. Auf der Registerkarte Image haben Sie den Pfad zur ausführbaren Datei.

Eine andere Möglichkeit ist, Windows PowerShell zu verwenden, den Befehl "get-command executable" ohne Anführungszeichen zu verwenden, und Sie erhalten den Pfad für die von Ihnen gesuchte ausführbare Datei. Abkürzung für den Befehl ist gcm. Verwenden Sie also "gcm calc".

Akzeptiere diese Antwort, da sie meine Frage direkt anspricht. Der Powershell-Ansatz scheint auch der * schnellste * Weg zu sein. :) * Leider ... * Ich möchte den Pfad einer EXE-Datei finden, nachdem ich eine separate DOS-Stapeldatei ausgeführt habe, die die Umgebungsvariable PATH ändert. Für die Ausführung der Batchdatei muss in Powershell eine separate cmd.exe ausgeführt werden. Dies bedeutet, dass der PATH ** in Powershell ** nicht betroffen ist. Daher kann mein Zielexe (tf.exe) immer noch nicht gefunden werden. Trotzdem hätte ich das in meiner Frage sagen sollen. Ich dachte einfach nicht, dass es damals wichtig war. : - / Mal Ross vor 15 Jahren 1
Wenn Sie den Taskmanager in Windows 7 verwenden (möglicherweise auch Vista), können Sie auch mit der rechten Maustaste auf den Vorgang klicken und "Dateispeicherort öffnen" wählen. Sie müssen dazu keine Drittanbieter-Software wie Process Explorer installieren. Wenn Sie den Prozessnamen kennen, können Sie auch `get-process Prozessname | eingeben % {$ _. path} `, um den ausführbaren Pfad zu finden. Dies funktioniert jedoch nicht für jeden Prozess. Ich habe die Regel dafür noch nicht gefunden ... wullxz vor 12 Jahren 1
5
izb

Wenn Sie cygwin installiert haben, können Sie immer den Befehl "which" verwenden

C:> which notepad /c/WINDOWS/system32/notepad 
nett. aber versuche "` which dir "... nik vor 15 Jahren 0
+1, die Idee gefällt mir - nur, dass sie eine Unix-Umgebung benötigt. Sie können auch die UnixUtil-Binärdatei verwenden. http://unxutils.sourceforge.net nik vor 15 Jahren 0
Es gibt verschiedene, um die herumliegende Implementierungen, die ohne das Unix-Subsystem laufen Xetius vor 15 Jahren 0
3
Orient

Versuche Folgendes:

@rem file which.bat (must be placed somewhere in %PATH%) @for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i 

Wenn Sie die which notepadBefehlszeile ( cmd.exe) eingeben :

C:\>which notepad C:\Windows\System32\notepad.exe 
funktioniert nicht ... Chazt3n vor 9 Jahren 0
@ Chazt3n Das hört sich im Moment als unbegründet an. Bitte erläutern Sie, wie Sie damit umgehen. Orient vor 9 Jahren 0
2
Jesse

Wenn Sie nach einem gerade laufenden Programm fragen, bietet Windows für die Befehlszeile, soweit ich weiß, nichts Out-of-the-Box, das Ihnen den vollständigen Pfad der ausführbaren Datei angibt.

Wenn Sie nach einem Programm fragen, das Sie in der Befehlszeile aufrufen können, können Sie den whereBefehl verwenden:

C:\> where fsutil C:\Windows\System32\fsutil.exe  C:\> 

Dies funktioniert für alle Programme, die Sie in Ihrer aktuellen PATH-Variablen oder im aktuellen Arbeitsverzeichnis aufrufen können. Eingebaute Befehle wie DIR werden nicht erkannt. Dies ist jedoch zu erwarten.

Als Randbemerkung ist das Where-Tool für Windows XP oder früher nicht standardmäßig enthalten. Ich glaube, Microsoft hat mit Vista oder 7 begonnen, aber ich habe keine zur Verfügung. Jesse vor 9 Jahren 0
0
Col

Du könntest es versuchen

CD \ dir /s command.* 

oder vom Explorer aus einfach nach dem Befehlsnamen suchen.