2017-09-20 4 views
1

Für unsere Workstation-Installation habe ich ein Batch-Skript, das das Computermodell erkennt und die erforderlichen Treiber installiert.Installieren von Treibern mit pnputil.exe

Das erste Skript enthält die folgende Zeile:

[...] 

call %path%\drivers.bat 

[...] 

Die drivers.bat sieht wie folgt aus:

@echo off 
%~dp0 

for /f %%i in ('dir /b /s *.inf') do pnputil.exe -i -a %%i 

Sein Zweck ist es, alle inf-Treiber zu installieren, ist es finden kann in die jeweiligen Ordner.

Wenn ich die drivers.bat doppelklicke, funktioniert es vollkommen in Ordnung. Sobald ich es aus der ersten Fledermausdatei anrufe, erhalte ich eine Fehlermeldung in den folgenden Zeilen:

Der Befehl "pnputil.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Ich versuchte

start /wait %path%\drivers.bat 

aber das Ergebnis ist das gleiche zu verwenden.

Gibt es eine andere Möglichkeit, das Skript aufzurufen? Oder gibt es eine bessere Möglichkeit, pnputil.exe auszuführen?

Vielen Dank im Voraus.

Edit:

@Mofi wies darauf hin, dass DPInst.exe Weg besser ist Treiber für die Installation und es funktioniert perfekt für mich. vielleicht

+1

ich dringend empfehlen die Verwendung von 'pnputil' nicht, sondern verwenden' DPInst32.exe 'Installieren von 32-Bit-Treibern unter 32-Bit-Windows oder' DPInst64.exe' zum Installieren von 64-Bit-Treibern unter 64-Bit-Windows. 'DPInst' ist das Microsoft Driver Package Installer. Es ist ein kostenloses Tool, das in den meisten Treiberpaketen von Herstellern enthalten ist, die wirklich die Treiberinstallation durchführen (und nicht die GUI, die angezeigt wird, wenn zusätzliche Software installiert wird, die meistens nicht wirklich benötigt wird). Wenn Sie zum Beispiel "DPInst64.exe" in einem Verzeichnis ausführen, das alle Treiberdateien eines Netzwerkadapters enthält, werden alle installiert. So installiert Intel ihre Treiber. – Mofi

+0

Danke @Mofi. Ich habe es mit DPInst.exe versucht und es funktioniert wie ein Zauber. – user363808

+0

Eine mögliche Ursache für diesen Fehler ist die Stapeldatei, die aus irgendeinem Grund im 32-Bit-Modus ausgeführt wird. Ein anderes ist, wenn die Eltern-Batch-Datei einen Wert für 'PATH' festlegt, der den Ordner system32 nicht enthält, obwohl das normalerweise eine schlechte Idee ist. –

Antwort

2

versuchen, diese

for /f %%i in ('dir /b /s *.inf') do %SystemRoot%\System32\PnPutil.exe -i -a %%I 

Zusätzlich zu sehen, wo die PnPUtil ausführbare befindet, von cmd.exe Lauf:

where pnputil 
+0

Leider funktioniert das nicht. Ich glaube nicht, dass sich PnPutil.exe unter% SystemRoot% \ System32 \ befindet. Danke trotzdem. Ich habe dpinst.exe jetzt verwendet und es funktioniert viel besser. – user363808

+0

können Sie versuchen, dies zu tun "tun PnPutil -i -a %% I" nur durch Entfernen von Pfad und '.exe' –

Verwandte Themen