Hi,
ich will gerne eine Inf Datei auslesen (Inf-Datei von Druckertreiber) da ich an einen Script Arbeite was hier auf meiner Arbeit sämtliche drucker mit 2klicks installiert, jedoch wäre es sehr viel Arbeit die Druckernamen aus den Inf-Dateien per hand rauszusuchen und als Variablen im Script zu speichern(wie ich es mit 4 Druckern gemacht habe zum test). Ich denke mal das man das Problem mit RegExp lösen kann allerdings kenne ich mich damit noch NULL aus. Desweiteren besteht das Problem das die Inf-Dateien nicht gleichmäßig aufgebaut sind, jeder Herrsteller kann sie im prinzip selbst gestallten, nur das Shema bleibt gleich.
Hier mal 2ausschnitte als Beispiel:
;HP Printer Driver
;Windows NT printer installation INF file
;Copyright Hewlett-Packard 2001 - 2007
[Version]
Signature="$Windows NT$"
Provider=Hewlett-Packard
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
CatalogFile=hp1055c1.cat
DriverVer=01/03/2007,4.31
; The Manufacturer sections lists all of the manufacturers
; that we willdisplay in the Dialog box
[Manufacturer]
"HP"=Models
; Model sections. Each section here corresponds with an entry listed in the
; [Manufacturer] section, above. The models will be displayed in the order
; that they appear in the INF file.
[Models]
"HP DesignJet 1050C PS3" = HP1050C1.PPD,LPTENUM\Hewlett-PackardDesig912D
"HP DesignJet 1055CM PS3" = HP1055C1.PPD,LPTENUM\Hewlett-PackardDesig4E6B
Alles anzeigen
Hier müsste er zu Manufacture gehen dann lesen das "HP"=Models ist und zu Models gehen um die hier 2 Modelle auszulesen und zu speichern. Eig. nicht so schwer denk ich aber:
; HPP1010H.INF
; SuperPrint 5.5 hp LaserJet 1010 Series
; Copyright (C) 2002 Zenographics Inc.
[Version]
Signature="$Chicago$"
Provider=%ZS%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=05/28/2003,5.60.1604.0
catalogfile.nt=hpp1010h.cat
[DestinationDirs]
DefaultDestDir = 11
DRIVER = 11
DRIVER2K = 66000
HELP = 11
HELP2K = 66000
PAREPP = 11
PRTPROCS = 66001
PRTPROCS_COPY = 66000
SD = 11
SDNT = 66000
SD4INI = 10
SD9X = 11
LANGMON_FILES = 11
LANGMON_FILES_NT5 = 66002
LANGMON_DRVCOPY = 66000
[Manufacturer]
"HP"
[HP]
%LJ1010% = LJ1010, DOT4PRT\VID_03F0&PID_0C17&REV_0100
%LJ1010% = LJ1010, DOT4PRT\VID_03F0&PID_0C17&DOT4&PRINT_HPZ
%LJ1010% = LJ1010, DOT4PRT\Hewlett-Packardhp_La17C4&PRINT_HPZ
%LJ1010% = LJ1010, LPTENUM\Hewlett-Packardhp_La17C4, Hewlett-Packardhp_La17C4
%LJ1010% = LJ1010, USBPRINT\Hewlett-Packardhp_La17C4
%LJ1012% = LJ1010, DOT4PRT\VID_03F0&PID_0D17&REV_0100
%LJ1012% = LJ1010, DOT4PRT\VID_03F0&PID_0D17&DOT4&PRINT_HPZ
%LJ1012% = LJ1010, DOT4PRT\Hewlett-Packardhp_LaD645&PRINT_HPZ
%LJ1012% = LJ1010, LPTENUM\Hewlett-Packardhp_LaD645, Hewlett-Packardhp_LaD645
%LJ1012% = LJ1010, USBPRINT\Hewlett-Packardhp_LaD645
%LJ1015% = LJ1010, DOT4PRT\VID_03F0&PID_0E17&REV_0100
%LJ1015% = LJ1010, DOT4PRT\VID_03F0&PID_0E17&DOT4&PRINT_HPZ
%LJ1015% = LJ1010, DOT4PRT\Hewlett-Packardhp_La1404&PRINT_HPZ
%LJ1015% = LJ1010, LPTENUM\Hewlett-Packardhp_La1404, Hewlett-Packardhp_La1404
%LJ1015% = LJ1010, USBPRINT\Hewlett-Packardhp_La1404
Alles anzeigen
Hier heißt der 2te Teil nach Manufacture, HP und nicht mehr Model.
Somit kann man den ersten teil finden aber wie den 2ten?(Da der in jeder 3ten Inf-Datei anders heißt)
Hoffe mir kann geholfen werden. Schonmal Danke für eure Mühe