„which“ für Windows

„which“ für Windows

Mögliches Duplikat:
Windows-Äquivalent von Whereis?

Ich bin es gewohnt, auf Unix-Systemen „which foo“ zu sagen, um zu sehen, was ausgeführt wird.

Heute habe ich Probleme mit einem Programm unter Windows und ich glaube, es wird möglicherweise der falsche Befehl ausgeführt. Wie kann ich anhand von cmd.exe feststellen, welches Programm tatsächlich ausgeführt wird, wenn ich „foo“ eingebe?

Antwort1

Ich würde vorschlagen, anhand Ihres „foo“-Beispiels Folgendes einzugeben:

foo /?

Das sollte unter Windows das Gleiche bewirken wie das Hinzufügen von --help unter Linux. Nicht immer, wohlgemerkt, aber es sollte Sie genau wissen lassen, was vor sich geht, und Ihnen einige Befehlssyntaxen anzeigen.

Antwort2

Ich kenne kein "Welches" für Windows, aber von der Befehlszeile aus können Sie ausführenWegum zu sehen, wo es nach den Dateien sucht. Ich glaube, es durchsucht den Pfad der Reihe nach und führt die erste ausführbare Datei aus, die es findet.

Denken Sie daran, dass CMD.EXE auch das lokale Verzeichnis nach einem auszuführenden Programm durchsucht und ich glaube, dass dies Vorrang hat.

Antwort3

Um weiter darauf einzugehensteve'SAntwort, von wo aus %SYSTEM_ROOT%Sie eine Suche ausführen können, attribum zu sehen, wo „foo“ liegt, und dann mit %PATH% vergleichen, um zu sehen, was zuerst ausgeführt wird:

attrib /s foo.exe
...
echo %PATH%

Antwort4

Das mit Cygwin gelieferte System (http://cygwin.org) wird von cmd.exe ausgeführt und tut wahrscheinlich das, was Sie sonst wollen. Beachten Sie, dass Sie, wenn Sie nach einer .bat-Datei suchen, die .bat-Datei explizit hinzufügen müssen, z. B. findet „which gorp.bat“ gorp.bat, „which gorp“ jedoch nicht.

verwandte Informationen