2808 Stimmen

Gibt es ein Äquivalent zu "which" in der Windows-Befehlszeile?

Da ich manchmal Pfadprobleme habe, bei denen eines meiner eigenen cmd-Skripte von einem anderen Programm (das weiter oben im Pfad liegt) verdeckt (überschattet) wird, würde ich gerne den vollständigen Pfad zu einem Programm in der Windows-Befehlszeile finden können, wenn ich nur seinen Namen angeben kann.

Gibt es eine Entsprechung für den UNIX-Befehl 'which'?

Unter UNIX, which command gibt den vollständigen Pfad des angegebenen Befehls aus, um diese Schattenprobleme leicht zu finden und zu beheben.

0 Stimmen

Was bedeutet "welches" unter Unix?

3 Stimmen

Foredecker: "which" sucht im PATH nach der ausführbaren Datei, die ausgeführt wird, wenn Sie an der Shell-Eingabeaufforderung einen Befehl eingeben.

3 Stimmen

Wenn Sie z.B. 5 Versionen von Java installiert haben und nicht wissen, welche verwendet wird, können Sie "which java" eingeben und Sie erhalten den PATH zum Binary

4voto

rogerdpack Punkte 55995

Für Windows XP-Benutzer (die keine where Befehl eingebaut), habe ich einen "where like"-Befehl als Rubygem geschrieben, der whichr .

Um es zu installieren, installieren Sie Ruby.

Dann

gem install whichr

Führen Sie es so aus:

C:> dier cmd_hier

3 Stimmen

Ich vermute, dass Sie heruntergestuft werden, weil Sie vorschlagen, etwas unter Windows XP zu tun.

1 Stimmen

Ich habe es nicht abgelehnt, aber Ruby zu installieren, um einen trivialen Befehl zu implementieren, ist ebenfalls ein schwieriges Unterfangen. Es gibt eine for-Schleife oben, die in ein Batch-Skript gesetzt werden könnte.

2 Stimmen

Druckt es die Anfangszeilen des Titelsongs von Der Hexer wenn Sie es im ausführlichen Modus ausführen? ;)

3voto

David G Punkte 113

TCC und TCC/LE von JPSoft sind CMD.EXE-Ersatzprogramme, die erhebliche zusätzliche Funktionen bieten. Relevant für die Frage des Auftraggebers, which ist ein integrierter Befehl für die Befehlsprozessoren der TCC-Familie.

2voto

Giovanni Bassi Punkte 711

Ich habe die which Modul von npm für eine ganze Weile, und es funktioniert sehr gut: https://www.npmjs.com/package/which Es ist eine großartige plattformübergreifende Alternative.

Jetzt bin ich zum which die mit Git geliefert wird. Fügen Sie einfach zu Ihrem Pfad die /usr/bin Pfad von Git, der sich normalerweise unter C:\Program Files\Git\usr\bin\which.exe . Die which binär sein wird bei C:\Program Files\Git\usr\bin\which.exe . Es ist schneller und funktioniert auch wie erwartet.

1voto

Versuchen Sie dies

set a=%~$dir:1
If "%for%"=="" (Echo %1 not found) else (echo %1 found at %a%)

0voto

George Ogden Punkte 400

Es ist möglich, alle für Windows kompilierten UNIX-Befehle herunterzuladen, einschließlich which aus diesem GitHub-Repository: https://github.com/George-Ogden/UNIX

1 Stimmen

"Alle" ist nicht genau definiert; und in der Tat, which gehört streng genommen nicht dazu, wenn man den Begriff "alle" einigermaßen genau definiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X