Suche nach einer Datei auf dem Weg
Weiß jemand, wie man die Position bestimmen, dass eine Datei in einen der Ordner angegeben, indem der Umgebungsvariable PATH anderes als eine dir filename.exe /s aus dem root-Verzeichnis?
Ich weiß, ist das dehnen der Grenzen von Programmiersprachen Frage, aber dies ist nützlich für die Bereitstellung-bezogene Probleme, auch ich brauche, um zu untersuchen die Abhängigkeiten einer ausführbaren Datei. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
where.exe
- Dienstprogramm in derC:\Windows\System32
Verzeichnis.For WindowsNT-basierte Systeme:
Ersetzen
file
mit dem Namen der Datei, die Sie suchen.for %e in (%PATHEXT%) do @(for %x in (file%e) do @if not "%~$PATH:x"=="" @echo.%~$PATH:x)
wenn Sie nicht wissen, die Erweiterung.Wenn Sie möchten, um die Datei zu suchen auf API-Ebene, die Sie verwenden können,PathFindOnPath. Es hat den zusätzlichen Vorteil des seins in der Lage, zusätzliche Verzeichnisse angeben,, in Fall, dass Sie suchen möchten, in weitere Standorte abgesehen von nur das system oder Aktueller Benutzer Pfad.
Unter windows würde ich sagen, verwenden Sie
%WINDIR%\system32\where.exe
Ihre Fragen Titel nicht von windows angeben, damit ich mir vorstellen, dass einige Leute können finden, diese Frage auf der Suche für das gleiche mit einer posix-OS auf Ihrem Verstand (wie ich).
Dieser php-Schnipsel könnte Ihnen helfen:
Dies ist leicht veränderten Produktions-code, den ich verwende auf mehreren Servern. (d.h. aus OO Kontext und Links einige Hygiene-und Fehler-Check-out für die Kürze.)
Mithilfe von PowerShell auf Windows...
Ich auch gebloggt habe, die Antwort mit einigen details über bei http://blogs.catapultsystems.com/chsimmons/archive/2018/01/30/parse-envpath-with-powershell
Zusätzlich zu den 'denen' (MS-Windows) und 'wo' (unix/linux) - Dienstprogramme, die ich geschrieben habe, mein eigenes Werkzeug, die ich als "findinpath'. Neben der Suche nach die ausführbare Datei, die ausgeführt werden würde, wenn übergeben, um die Kommandozeilen-interpreter (CLI), es finden alle Spiele, die zurückgegeben Pfad-such-Reihenfolge, so dass Sie finden können-Pfad-Bestellung Probleme. Darüber hinaus, meine utility gibt nicht nur ausführbare Dateien, sondern eine Datei-Spezifikation entsprechen, zu fangen jene Zeiten, wenn die gewünschte Datei ist nicht ausführbar.
Ich auch eine Funktion Hinzugefügt, die hat sich sehr clever; das -s-flag sagt, er Suche nicht nur das system Weg, aber alles auf die system-Platte, bekannten user-Verzeichnisse ausgeschlossen. Ich fand diese Funktion sehr nützlich, um die administration der Systeme Aufgaben...
Hier ist der 'Gebrauch' Ausgabe:
Schreiben Sie ein Dienstprogramm ist nicht schwer und ich werde es verlassen, als übung für den Leser. Oder, wenn hier gefragt, ich poste mein script - seine in der 'bash'.
nur zum Spaß, hier ist ein one-liner powershell Implementierung
PATH
enthalten kann;
als auch (und gelten dann).