36539
Goto Top

Batch - Installationspfad wird nicht gefunden, wenn im Registry-Zweig eine Systemvariable enthalten ist

Hallo,

benötige mal wieder Hilfe von den Könnern.
Ich möchte die Versionsnummer des Windows Media Player ermitteln
Dabei geht es mir nur um die Hauptversions-Nr. aus der "wmplayer.exe", also 9/10/11
Könnt ihr mir schreiben wie ich das per Batch hinbekomme oder ginge es nur per VBS?
In letzterem Fall wäre ich Euch Dankbar wenn ich mit die komplette Programmcode hier schreiben würdet.

Die Prüfung auf Betriebssystem habe ich schon die kann weg bleiben.
Ich benötige die Sequenz so das ich eine Variable erhalte (nur die Ziffern 9 oder 10 oder 11) die ich an die Batch übergeben kann.

Danke
onegasee59

edit 17.10.2008 14:55 Uhr
Wartet mal. Ich glaube ich hab hier eben was gefunden "Dateiversion abfragen per Batch Datei "
Wenn ich dennoch nicht weiterkomme melde ich mich nochmal.

edit 19.10.2008 11:41 Uhr
Komme doch nicht weiter könnt ihr bitte mal unten weiterlesen und mir helfen?
Danke

Content-ID: 99573

Url: https://administrator.de/contentid/99573

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

stbewo
stbewo 17.10.2008 um 15:24:26 Uhr
Goto Top
Zur Vorsicht schon mal eingefügt face-wink
@echo off
setlocal enabledelayedexpansion
SET Versionsnummer=1.0
set Programm="Windows Media Player"
FOR /F "tokens=1,2,3 delims=," %%A IN ('"WMIC product get name,version /FORMAT:csv"') DO (
set "Program=%%B"
set "Version=%%C"
if "!PROGRAM:~0,20!"==%Programm% (
echo !PROGRAM! !VERSION:~0,-1!
)
)
pause

Gruß
Stefan
36539
36539 17.10.2008, aktualisiert am 18.10.2012 um 18:36:24 Uhr
Goto Top
Hallo Stena,

das funktioniert hier nicht
es erfolgt keinerlei Echo Meldung
Nur die Bildschirmmeldung auf den pause-Befehl.

Ich muss Prüfen ob die im Pfad befindliche "wmplayer.exe" die version 9, 10 oder 11 hat. Nur dann lass ich das Programm weiter abarbeiten.
Die Methoder per WMIC dauert zu lange.
Ich mach erstmal weiter mit
Dateiversion abfragen per Batch Datei

Danke dennoch.
onegasee59

edit 21:55 Uhr
Habs jetzt mal zu Fuss gemacht:
Windows Media Player taucht in der Liste gar nicht auf.

wmic:root\cli>product get name,version
Name Version
Windows Installer Clean Up 3.00.00.0000
Windows Live Messenger 8.5.1302.1018
MSXML 4.0 SP2 (KB936181) 4.20.9848.0
WinZip 11.1 11.1.7466g
Microsoft .NET Framework 2.0 Service Pack 1 2.1.21022
WebFldrs XP 9.50.6513
Acronis True Image Home 11.0.8105
Windows Live installer 12.0.1471.102
Adobe Reader 9 - Deutsch 9.0.0
Acronis Disk Director Suite 10.0.2161
Microsoft Office Professional Edition 2003 11.0.8173.0
Microsoft Office FrontPage 2003 11.0.8173.0
Nero 8 Essentials 8.3.304
BartPE-Zusatzmodul für Acronis True Image 11 Home 11.0.8105
Zusatzmodul Notfallmedium (abgesicherte Version) für Acronis True Image 11 Home 11.0.8105
User Profile Hive Cleanup Service 1.6.30
VCRedistSetup 1.0.0
Autostart-Manager 2006 6.00.0000
Microsoft Visual C++ 2005 Redistributable 8.0.56336
NVIDIA PhysX v8.09.04 8.09.04
Microsoft Silverlight 1.0.30716.0
Microsoft .NET Framework 2.0 Service Pack 1 Language Pack - DEU 2.1.21022
neroxml 1.0.0

wmic:root\cli>

also ist wmic leider kein geeigneter Lösungansatz
36539
36539 18.10.2008 um 00:17:10 Uhr
Goto Top
Halo,

meine aktuelle Lösung funktioniert leider nur unter XP, aber nicht unter Vista ,

rem WMP-Installationspfad finden, Abbruch wenn keine Installation von WMP 9 (oder hoeher) gefunden wird
set WMPkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe"
for /f "skip=2 tokens=2*" %%i in ('reg query %WMPkey% /v Path') do set "WMPPath=%%~pnxj" & set "WMPDrive=%%~dj"
set "WMPPath=%WMPPath%\"

Unter XP findet der Schnippsel in "..App Paths.." der Eintrag "C.\Programe\Windows Media Player" damit funktioniert es
das Log-File ergibt:
%WMPPath% --> WMP-Install-Pfad=\Programme\Windows Media Player\
%WMPDrive% --> WMP-Install-LW=C:

Unter Vista, bei mir auf LW G:, findet der Schnippsel in "..App Paths.." den Eintrag "%ProgramFiles%\Windows Media Player"
das Log-File ergibt aber falsche Daten:
%WMPPath% --> WMP-Install-Pfad=\99-Programmierungen\WMP - Tools\WMPNetworkFix\%ProgramFiles%\Windows Media Player\
%WMPDrive% --> WMP-Install-LW=I:
Damit funktioniert es nicht, denn hier ermittelt die Batch über "WMPPath=%%~pnxj" und "WMPDrive=%%~dj" nicht die korrekten Installationsdaten,
sondern das Start-LW und den Startpfad der Batch anstatt LW und Pfad der WMP-Installation.

WIESO?

als Alternative hatte ich noch das gefunden. Eine Variante von bastla die ich nur angepasst habe:

Aber auch die funktioniert nur unter XP, nicht unter Vista

rem Variante von bastla - WMP-Installationspfad finden, Abbruch wenn keine Installation von WMP 9 (oder hoeher) gefunden wird
set "WMPTemp=%temp%\WMPPath.vbs"
echo strWMPPath = WScript.CreateObject("WScript.Shell").RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe\Path") > "%WMPTemp%"
echo If Right(strWMPPath,1) ^<^> "\" Then strWMPPath = strWMPPath ^& "\" >> "%WMPTemp%"
echo If Not Mid(strWMPPath, 2, 1) = ":" Then WScript.Quit(1) >> "%WMPTemp%"
echo WScript.Echo strWMPPath >> "%WMPTemp%"
for /f "tokens=1* delims=:" %%i in ('cscript //nologo "%WMPTemp%"') do set "WMPDrive=%%i:" & set "WMPPath=%%j"
del /f /s /q "%WMPTemp%" > nul

Logfile unter XP:
%WMPPath% --> WMP-Install-Pfad=\Programme\Windows Media Player\
%WMPDrive% --> WMP-Install-LW=C:

Logfile unter Vista:
%WMPPath% --> WMP-Install-Pfad=
%WMPDrive% --> WMP-Install-LW=

Könnt ihr mir auf die Sprünge helfen was ich ändern muss damit es auf XP und Vista funktioniert?

Gruß
onegasee59
36539
36539 03.11.2008, aktualisiert am 18.10.2012 um 18:36:28 Uhr
Goto Top