Ja, so gehts...

Habe das gleiche auch mal als batch datei gemacht:

----------------> which.bat
@echo off
setlocal
set pp=%PATH%
:loop
        for /F "tokens=1* delims=;" %%i IN ("%pp%") do if exist "%%i\%1"
echo %%i\%1
        for /F "tokens=1* delims=;" %%i IN ("%pp%") do set pp=%%j
if "%pp%" NEQ "" goto loop
Endlocal
<----------------

Verwendung:
which programm.exe
Z.B.
which cmd.exe

Getestet auf englischem Win2k

Gruss,

Claudius

> 
> 
> > > wie kann ich den Pfad zu einem Programm (einer DOS EXE)
> > > rausbekommen? Der
> > > Pfad ist mit PATH gesetzt ...
> 
> Also den Pfad auslesen und schaun, was da ist. Hier ein 
> Quickhack Beispiel.
> Zum Ausprobieren in TEST.VBS packen und laufen lassen
> 
> Set fso = CreateObject("Scripting.FileSystemObject")
> Set WshShell = CreateObject("WScript.Shell")
> Set WshSysEnv = WshShell.Environment("SYSTEM")
> 
> myPfad = WshSysEnv("Path")
> PfadArray= split(myPfad, ";")
> For each Einzelpfad in PfadArray
>   Einzelpfad = WshShell.ExpandEnvironmentStrings(Trim(Einzelpfad))
>   if Right(Einzelpfad, 1) <> "\" Then Einzelpfad = Einzelpfad & "\"
>   If fso.FileExists(Einzelpfad & "notepad.exe") Then
>     Wscript.echo "Notepad gefunden in " & Einzelpfad
>   End If
> next
> 
> �brigens: anstelle von System kannst den Pfad auch f�r den 
> User oder Process
> Kontext nachschauen. Bin mir nicht sicher, ob das einen 
> gro�en Unterschied
> macht.
> 
> --
> 
> Viele Gr��e
> Hubert Daubmeier
> 
> 
> 
> | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | 
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
house.asp


| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp

Antwort per Email an