Hi,
ich suche irgendwas womit ich die Liste der PCI-Devices und ihrer Bezeichnungen auslesen und in einem CMD-Script weiterverwenden kann. Mit WMI geht es scheinbar nicht, jedenfalls habe ich dort keine Moeglichkeit gefunden mir eine solche Liste ausgeben zu lassen.
Ich muss von diversen verschiedenen Rechnern das Grafikkarten-Modell auslesen ohne dass fuer diese Karte Treiber installiert sind. Also muss ich definitiv im Lowlevel-Bereich der Hardware lesen, da die High-Level-Bezeichnungen wie sie zum Beispiel beim auslesen der Displaykonfiguration entstehen, noch gar nicht vorhanden sind.
Hat irgendwer eine Idee womit ich das bewerkstelligen koennte?
Gruesse,
sкavєи
Seite 1 von 1
Pci-devicelist Auslesen
Anzeige
#2
geschrieben 06. Mai 2008 - 10:03
Da du WMI erwähnst, gehe ich davon aus, dass es sich nur um Windows-Kisten handelt.
GPU-Z würde sich hier anbieten, aber ich weiß nicht, ob sich das Teil scripten lässt.
Um einen Low-Level Zugriff über ASM zu vermeiden, könntest du zudem auf die OpenGL- bzw. DirectX APIs zugreifen, beide bieten Spezifikationen an um Informationen über die Grafikkarte auszulesen.
GPU-Z würde sich hier anbieten, aber ich weiß nicht, ob sich das Teil scripten lässt.
Um einen Low-Level Zugriff über ASM zu vermeiden, könntest du zudem auf die OpenGL- bzw. DirectX APIs zugreifen, beide bieten Spezifikationen an um Informationen über die Grafikkarte auszulesen.
#3
geschrieben 06. Mai 2008 - 10:48
Alle sagten es geht nicht, da kam einer der das nicht wusste und tat es einfach.
#4
geschrieben 07. Mai 2008 - 08:11
Hmm, OK so richtig einfach geht's mit beiden Tips nicht, aber das kann ich ja auch schlecht erwarten. Aber mit DevCon kann ich zumindest die Vendor- und die Model-ID auslesen. Damit laesst sich arbeiten. Vielen Dank.
Nun habe ich aber ein andere Problem. Ich habe zwei Scripte, install.cmd und drivers.cmd. install.cmd sucht per WMI das Modell des Rechners heraus und ruft dann entsprechend aus einem Unterordner das richtige drivers.cmd per call auf. Beide Scripte beginnen mit diesen beiden Zeilen:
Edit: Hat sich erledigt, das Encoding war falsch. War auf UTF-8 gestellt.
Nun habe ich aber ein andere Problem. Ich habe zwei Scripte, install.cmd und drivers.cmd. install.cmd sucht per WMI das Modell des Rechners heraus und ruft dann entsprechend aus einem Unterordner das richtige drivers.cmd per call auf. Beide Scripte beginnen mit diesen beiden Zeilen:
@echo off clsAber wenn ich jetzt install.cmd starte bekomme ich immer noch alle Meldungen zurueck. Erst nach dem call auf drivers.cmd wird das Fenster ge-cleared und das echo abgeschaltet. Wenn ich das @echo off und cls aus dem drivers.cmd herausnehme so bekomme ich saemtlichen Output aus beiden Scripten ausgegeben. Warum funktioniert das abschalten des echo in dem einen Script nicht?
Edit: Hat sich erledigt, das Encoding war falsch. War auf UTF-8 gestellt.
Dieser Beitrag wurde von sкavєи bearbeitet: 07. Mai 2008 - 08:28
#5
geschrieben 21. Mai 2008 - 09:44
Bin jetzt endlich dazu gekommen es umzusetzen. hier mal meine Loesung, vielleicht hilft es ja irgendwem mal:
@echo off cls set errorlevel=0 rem Auslesen der VendorID aller PCI-Geraete und schreiben in temporaere Datei for /F "tokens=2 Delims=\&" %%i in ('devcon find pci\*') do @echo %%i >> %temp%\pcivendors.txt rem Ueberpruefen der VendorIDs auf bekannte Hersteller rem Checking for Matrox find "VEN_102B" %temp%\pcivendors.txt > nul if %errorlevel% == 0 goto matrox set errorlevel=0 rem Checking for NVIDIA find "VEN_10DE" %temp%\pcivendors.txt > nul if %errorlevel% == 0 (goto nvidia) else goto exit :matrox echo Matrox-Grafikkarte gefunden... Beginne Treiberinstallation... start /wait %systemdrive%\drivers\Matrox\setup.exe /s REG ADD HKCU\Software\matrox\PowerDesk\Version6\CurrentSettings /v DontShowDHWizard /t REG_DWORD /d 00000001 shutdown -a goto exit :nvidia echo NVIDIA-Grafikkarte gefunden... Beginne Treiberinstallation start /wait %systemdrive%\drivers\NVIDIA\setup.exe -s -f1setup.iss goto exit :exit exitDie VendorIDs eurer Hardware findet ihr in den INF-Dateien der Treiber. Einfach in den Dateien mal nach "VEN_" suchen. Ich habe hier jetzt nur Matrox und NVIDIA drin weil ich es nur fuer Karten dieser beiden Hersteller benoetige. Theoretisch koennte man damit aber alle Hersteller und auch noch ganz andere Anschluesse als nur PCI auslesen.
Dieser Beitrag wurde von sкavєи bearbeitet: 21. Mai 2008 - 09:50
- ← Problem Bei Einer Zoomfunktion Mit Function Wheel (event)
- Skript/Web-Programmierung
- Wer Passt Mir Mein Design An Dzcp An? →
Thema verteilen:
Seite 1 von 1