Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Vergleichbares Programm für which (Linux) unter Windows gesucht!

Frage Microsoft

Mitglied: problemsolver

problemsolver (Level 2) - Jetzt verbinden

29.10.2008, aktualisiert 21:03 Uhr, 5853 Aufrufe, 10 Kommentare

"which" <Programmname> -> Linux; "???" <Programmname> ->Windows

Hallo zusammen,

Gibt es ein Programm unter Windows, dass mir die gleiche Funktionalität wie das Tool which bei Linux gibt?
Ich möchte gerne von meiner Kommandozeile aus in Erfahrung bringen, in welchem Pfad sich ein Programm befindet, das ich starte.

Gruß

Markus
Mitglied: mnbesc
29.10.2008 um 13:22 Uhr
siehe

http://www.profsoftware.com/unixdos/

da ist auch which mit dabei.....

gruß
mnbesc
Bitte warten ..
Mitglied: problemsolver
29.10.2008 um 13:37 Uhr
Hallo!

Vielen Dank für dein Kommentar!
Du hast mich auf jeden Fall in die richtige Richtung gestoßen!!!

Eine Suche nasch "Unix Tools for Windows" brachte dann auch kostenlose Software ans Tageslicht. Ich hatte vorher nach "which" gesucht... na nur blöd, dass das Wort im Englischen so oft vorkommt ;)... na die Suche ist halt entscheidend anscheinend gewesen.

Das Programm "which" ist bei den UNXUTILS http://unxutils.sourceforge.net integriert.

Vielen Dank! Problem gelöst!

Gruß

Markus
Bitte warten ..
Mitglied: Biber
29.10.2008 um 13:48 Uhr
Moin problemsolver,

ein "which.bat" könnte beispielsweise so aussehen
01.
@for %%i in ("%~1") do @echo %%~$Path:i
Demo der Mimik am CMD-Prompt (Eingabezeile erkennbar am ">".)
>for %i in ("findstr.exe") do @echo %~$Path:i 
C:\WINDOWS\system32\findstr.exe
Haken an dieser Variante ist, dass leider der vollständige Such-Name angegeben werden muss (Name incl. Extension.
Schöner wäre natürlich ein "whichwild.bat", der sich mit einem Namen als Parameter zufriedengibt.
01.
>which findstr 
02.
C:\WINDOWS\system32\findstr.exe
Da ich bisher mit dem ersten Ansatz (Name+Ext) leben konnte, habe ich für Anforderung 2 noch nichts.
Wäre aber machbar.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
29.10.2008 um 14:18 Uhr
@Biber
Genügt da nicht (als Ansatz) ein
01.
@for %%e in (exe com bat cmd pif vbs vbe js) do @for %%i in ("%~1.%%e") do @for /f %%a in ("%%~$Path:i") do @echo %%a
So viele Typen für ausführbare Dateien gibt's dann ja eigentlich nicht ...

Grüße
bastla
Bitte warten ..
Mitglied: problemsolver
29.10.2008 um 16:59 Uhr
Hey Biber!

Absoluter Wahnsinn, Biber!!! *fasziniert-den-kopf-schüttel*
Irgendwann batched Du oder ich mich selber hier noch weg und ich werd dann gekündigt, weil mein Job durch ne Batch-Datei übernommen worden ist *fg*

Na ich glaub mir fehlte einfach das Wissen zu:
01.
%~$Path:i
Obwohl es dick und fett nachzulesen ist unter for /?

Achja... nochn dickes LOB und DANKE!

Gruß

Markus
Bitte warten ..
Mitglied: Biber
29.10.2008 um 17:06 Uhr
@bastla
wenn ich es brauchen würde, dann würde ich sicher schreiben:
01.
@for %%e in (%pathext%) do @for %%i in ("%~1%%e") do @for /f %%a in ("%%~$Path:i") do @echo %%a
... damit es in eine kürzere Zeile passt...

Aber, wie oben geschrieben, eigentlich habe ich es ja noch nie gebraucht.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
29.10.2008 um 17:14 Uhr
@Biber
... damit es in eine kürzere Zeile passt...
Ja, heutzutage müssen wir alle sparen wo's nur geht ...

eigentlich habe ich es ja noch nie gebraucht.
... und da selbiges auf mich zutrifft, rein interessehalber die Frage

@problemsolver: Wozu brauchst Du das eigentlich?

Grüße
bastla
Bitte warten ..
Mitglied: problemsolver
29.10.2008 um 19:54 Uhr
Hallo B & B

ganz simple Erklärung eigentlich.
Ich arbeite eigentlich zu -sagen wir mal- 80 % mit der Kommandzeile, da das Wissen, was ich dort anwenden kann, für "fast" alle Windows Versionen gelten und wohl auch in Zukunft gelten werden. (Zumindest die Prinzipien verhalten sich ähnlich...na vielleicht wird es objektorientierter s. PowerShell aber ich will nicht noch weiter ausholen...)
Und als in heute diverse Admintätigkeiten durchgeführt habe und ich immer nach Vereinfachung hierbei suche, hab ich mich gefragt wo sich die DS Tools befinden.
War einfach zu faul nach dsquery, dsadd usw. über die Explorersuchfunktion zu suchen und da hab ich mich an den Unix/Linux Befehl which erinnert.

Naja... als ich dann wieder auf die unxtools aufmerksam wurde (die sich noch auf meiner Platte versteckt hatten), war das schon fast erledigt.... bis ihr gekommen seid ^^

Aber ich find es Klasse, dass ihr mich immer wieder aus den Latschen batcht :-P (und lustig isses obendrein)

Gruß

Markus
P.S.: Eure Lösung ist noch besser wie das which von den unxutil, da es die Dateiendungen relativiert und von sich aus jedes Vorkommnis der gesuchten ausführbaren Datei im Path auflistet.
Bitte warten ..
Mitglied: bastla
29.10.2008 um 20:10 Uhr
Hallo problemsolver!

War einfach zu faul nach dsquery, dsadd usw. über die Explorersuchfunktion zu suchen
Zur Not hätte es auch ein
dir /s /b C:\dsquery.exe
tun können ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
29.10.2008 um 21:03 Uhr
Moin problemmarkus,
jedes Vorkommnis der gesuchten ausführbaren Datei im Path auflistet.
Aber kein Oneliner ohne Wermutstropfen:
Im Unterschied zu den Unix-which-en zeigen die Oneliner oben wirklich nur die gefundenen ausführbaren Dateien im Pfad (bzw im %path%) an.
Wenn Du wissen willst, welche Datei zuerst gefunden wird, müsstest Du eigentlich noch prüfen, ob sich eine derartige Datei eventuell im aktuellen Verzeichnis befindet. Denn die würde ja noch eher "gefunden" werden als eine im %path%.
Kleiner Tipp dazu:
Damit im aktuellen Verzeichnis auch gesucht wird (wie unter Unix-which und vom CMD-Interpreter ja auch) ist es das einfachste, das aktuelle Verzeichnis halt mit im Pfad zu hinterlegen.
  • entweder durch Einfügen von ".;" in den Pfad (also Path=.;%Path% )
  • oder dadurch, dass in %PATH% zwei aufeinanderfolgende Semikolons enthalten sind
[GROSSE KLAMMER AUF
Die zweite Variante ist auf Grund der Schlampigkeit der heutigen "Programmierer" ohnehin fast immer gegeben.
Uberprüfung am CMD-Prompt mit;
>for %i in ("%path:;=" "%") do @echo %i 
"D:\Oracle\instantclient_10_2\Bin" 
"C:\WINDOWS\system32" 
"C:\WINDOWS" 
"C:\WINDOWS\System32\Wbem" 
"C:\PROGRA~1\IBM\SQLLIB\BIN" 
"C:\PROGRA~1\IBM\SQLLIB\FUNCTION" 
"C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL" 
"d:\Biber\_1" 
""   -----------> hier sind zwei Semikolons hintereinander im Pfad 
"D:\Programme\SSH Communications Security\SSH Secure Shell" 
"%APPDATA%" -----------> M$-XP-Bug--%APPDATA% wird zu früh in den Pfad geschrieben 
----------> und kann nicht aufgelöst werden.
GROSSE KLAMMER ZU]

Diese kleine Anpassung bewirkt, dass auch im aktuellen Pfad gesucht wird.
Beispiel: Suche nach einer ausführbaren Datei "x":
>set path=;;%path% 
 
(=20:59:57  D:\temp=) 
>@for %e in (%pathext%) do @for %i in ("x%e") do @for /f %a in ("%~$Path:i") do @echo %a 
D:\temp\x.bat 
D:\temp\x.vbs
Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Netzwerke
Clientmanagement für Linux + Windows (3)

Frage von janne-s zum Thema Netzwerke ...

Firewall
Kaspersky sperrt Programm auf Windows 7 client (3)

Frage von mike7050 zum Thema Firewall ...

Monitoring
System Monitoring für Windows, Linux (5)

Frage von manuelw zum Thema Monitoring ...

Windows 7
Linux über Windows 7 Bootloader starten (4)

Frage von oecke77 zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...