2-frozen Geschrieben 5. Februar 2014 Geschrieben 5. Februar 2014 Hallo zusammen, besonders liebe BATCHler ich stehe ein : vor dem Abschluss eines Nervenzusammenbruchs. Folgende derzeitige Ausgangssituation: Diese Dinge soll das Batchfile übernehmen 1. Suche in C:\windows\inf\ nach oem*.inf und durchsuche selbige nach dem String "Treibername". 2. Nimm Besagte Datei und schreib ihren Namen in eine %VARIABLE% 3. pnputil -d %VARIABLE% Hier der entsprechende Code, der funktioniert, sofern es sich bei oemXX.inf um ein ANSI File handelt. @echo off c: cd c:\windows\inf REM Test zum schauen ob das Ergebnis das Richtige ist for /f "delims=:" %%a in ('findstr "\<Treibername.CAT\>" "*.inf"') do echo "%%a" 2>nul REM Achtung, unteres REM entfernen um Skript aktivieren REM for /f "delims=:" %%a in ('findstr "\<Treibername\>" "*.inf"') do pnputil -f -d "%%a" Wobei das Ausgabeergebnis von %a oemXX.inf ist. Bei UNICODE inf Dateien scheitert das ganze, da findstr kein UNICODE lesen kann. Dafür gibt es denn Umweg über die strings.exe von sysinternals. angepasster Code sieht so aus: for /f "delims= " %a in ('strings *.inf ^| findstr "treibername.cat" ') do echo "%a" Ergebnis wäre C:\windows\Inf\oemXX.inf: Wie zum Teufel bekomme ich den blöden Doppelpunkt am Ende weg, damit pnputil -d %a wieder funktioniert? Thx 2-frozen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden