Prüfung ob ImageX in PATH Pfad existiert
Hallo,
mit folgendem Code prüfe ich ob ImageX auf einem Rechner existiert. Der Pfad weicht von dem Batchpfad ab, wird wohl vom PATH Befehl gefunden.
Eine zuverlässige Abfrage bekomme ich nicht hin:
Wenn ImageX gefunden wurde gibt es je nach Laune Errorlevel 0 oder 1 zurück. Einen Zusammenhang erkenne ich nicht. Manchmal läuft IMageX einfach so durch, manchmal dauert es 12 Sekunden bis der Hilfetext ausgegeben wird.
Wenn ImageX nicht gefunden wurde ist der Errorlevel nicht zuverlässig 9009, es kann auch 0 sein. Wann und weshalb ist mir auch nicht klar, es scheint aber niemals in der Konsole aufzutreten sondern nur in einer Batch.
Wie prüfe ich die Existenz eines Befehls zuverlässig?
mit folgendem Code prüfe ich ob ImageX auf einem Rechner existiert. Der Pfad weicht von dem Batchpfad ab, wird wohl vom PATH Befehl gefunden.
ECHO ImageX wird gesucht...
IMAGEX /? >NUL 1>NUL 2>NUL
REM Fehler auch bei IF ERRORLEVEL 2
IF %ERRORLEVEL% EQU GTR 1 (
SET IMGInstalliert=Ja
REM Errorlevel zurück auf 0 setzen
CD > NUL
)
Eine zuverlässige Abfrage bekomme ich nicht hin:
Wenn ImageX gefunden wurde gibt es je nach Laune Errorlevel 0 oder 1 zurück. Einen Zusammenhang erkenne ich nicht. Manchmal läuft IMageX einfach so durch, manchmal dauert es 12 Sekunden bis der Hilfetext ausgegeben wird.
Wenn ImageX nicht gefunden wurde ist der Errorlevel nicht zuverlässig 9009, es kann auch 0 sein. Wann und weshalb ist mir auch nicht klar, es scheint aber niemals in der Konsole aufzutreten sondern nur in einer Batch.
Wie prüfe ich die Existenz eines Befehls zuverlässig?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 390175
Url: https://administrator.de/forum/pruefung-ob-imagex-in-path-pfad-existiert-390175.html
Ausgedruckt am: 04.04.2025 um 21:04 Uhr
4 Kommentare
Neuester Kommentar
Klingt alles sehr merkwürdig.
1) Gib das
2) Prüfe genau ob du in deinem Batchcode nicht zufällig die %path% Umgebungsvariable überschreibst.
3) Sichere ab, dass dein Batchscript nicht auch zufälligerweise ImageX.bat oder ImageX.cmd heißt, und auch sonst keine ausführbaren Dateien namens ImageX im Arbeitsverzeichnis liegen.
Steffen
1) Gib das
path
Kommando in einen CMD Prompt ein und prüfe ob der Pfad zu ImageX dort enthalten ist.2) Prüfe genau ob du in deinem Batchcode nicht zufällig die %path% Umgebungsvariable überschreibst.
3) Sichere ab, dass dein Batchscript nicht auch zufälligerweise ImageX.bat oder ImageX.cmd heißt, und auch sonst keine ausführbaren Dateien namens ImageX im Arbeitsverzeichnis liegen.
Steffen
Wenn ImageX selbst einen Bug hat, kannst du wenig machen. In dem Fall einfach prüfen, ob die Datei in der PATH Umgebung liegt.
Wenn kein Path Eintrag existiert funktioniert das natürlich ebenso wenig.
Falls ImageX im Arbeitsverzeichnis des Scripts liegt, reicht ein
Steffen
for %%i in ("imagex.exe") do if "%%~$PATH:i"=="" echo existiert nicht
Wenn kein Path Eintrag existiert funktioniert das natürlich ebenso wenig.
Falls ImageX im Arbeitsverzeichnis des Scripts liegt, reicht ein
if exist "imagex.exe" ...
für dieselbe Prüfung.Steffen