oben steht es schon, ich möchte mithilfe von Batch die Version von Internet Explorer erkennen bzw. eines anderen Installierten Webbrowsers. Das ist notwendig auf den verlauf des Batch-scripts, je nach Browser soll dem Benutzer andere Möglichkeiten zur Verfügung stehen.
Leider bin ich derzeit auf dem Holzweg und habe schon gegoogle`t , doch ich hab nichts gefunden. Vielleicht kann einer von euch mir helfen wäre sehr nett. Danke im Voraus, vicon
an folgender Stelle registrieren sich alle Browser des Systems: HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
Bei 64Bit Systemen: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Clients\StartMenuInternet
Ich weiß nicht genau ob man mit batch direkt auf die Reg zugreifen kann, falls nicht würde ich mir ein kleines CMD-Tool schreiben was durch batch aufgerufen werden kann und entsprechende Werte zurückgibt die ich mit batch auslese (Natürlich nur für den Fall das ich mein CMD-Tool nicht direkt verwenden kann und batch zwingend erforderlich ist)
Hallo, in einer vorherigen Antwort wurden ja schon die Registry-Schlüssel angegeben, in welchen die installierten Browser registriert sind. Mit dem Befehl
reg query HKLM\SOFTWARE\Clients\StartMenuInternet
kannst du alle registrierten Browser auflisten.
In einer Batch-Datei sieht das dann so aus:
@echo off FOR /F "skip=3 tokens=5 delims=\" %%i IN ('reg query HKLM\SOFTWARE\Clients\StartMenuInternet') DO ( REM in diesem Bereich hast du die Browser in der Variablen i echo %%i )
Das Ergebnis:
FIREFOX.EXE IEXPLORE.EXE
Ich bin aber etwas irritiert über deine Formulierung mit der
Version von Internet Explorer ...
Wenn du damit tatsächlich die Version des jeweiligen Browsers meinst, dann geht das nur, wenn du die installierten Browser bereits kennst. So kannst du z.B. die FireFox-Version ermitteln:
for /f "skip=2 tokens=4" %%i IN ('reg query "HKLM\SOFTWARE\Mozilla\Mozilla Firefox"') do @echo %%i
Also so pauschal geht das sicher nicht so einfach. Du könntest evtl. prüfen ob diese "Standard"-Verzeichnisse (C:/Programme/Mozilla Firefox) existieren, aber damit ist auch nicht sichergestellt, dass
der Browser installiert ist
ob nicht evtl. mehrere Versionen des Browsers installiert sind
der Browser könnte trotzdem installiert sein, aber in einem anderen Verzeichnis.
Was hältst du davon, den Benutzer einfach zu fragen, welchen Browser er hat? :-)
Danke für den Gedankengang, aber unter Windows (WinXP,Vista,Win7) haben alle Programme immer ein anderes Verzeichnis, tja und jeden Benutzer auf der Welt Fragen welchen Browser er hat ?, natürlich man kann ihm die Frage im Programm stellen, aber er kann alles mögliche reinschreiben und am ende funktioniert Garnichts. Ich wäre auch mit einem anderen Möglichkeit einverstanden solange sie irgendwie über Batch gestartet/aufgerufen werden kann.
Die Konkurrenz ist ja (zum Glück) nicht so mit dem System verbandelt, deshalb wird es wohl ein bisschen Recherche brauchen, die Varianten rauszukriegen ... ich nutze ja den Firefox Portable, der kann wer weiß wo stecken, und schreibt nicht in die registry, jedenfalls nicht für deine Zwecke verlässlich. Also das ist nur ein Hinweis für die Richtung, in die ich gehen würde, ich wüsste nicht, wie ich sicher sein sollte.
... mit Bordmitteln von Windows 7: PowerShell. Da ist die registry als virtuelles Dateisystem eingebunden und die Schlüssel sind mit
dir
abfragbar. Die Powershell ist auch auf früheren Windosen ab XP glaub ich über M$ Update nachinstallierbar, SQL Server ab 2008 setzt sie voraus, aber du wirst für deine Batch nicht erst Voraussetzungen schaffen können.