Batch oder Script - Feststellen ob lokaler Drucker installiert ist
Hallo zusammen,
ich möchte mit einem VB-Script oder einer Batchdatei unter Windows 2000 folgendes tun:
1. Prüfen, ob ein lokaler Drucker installiert ist
2. Wenn ja, dann mit CON2PRT einen Netzwerkdrucker als Standarddrucker installieren (Option /CD)
3. Wenn nein, dann mit CON2PRT einen Netzwerkdrucker installieren, aber den lokalen Drucker als Standard lassen (Option /C)
Erschwerend kommt hinzu: Also lokaler Drucker sollen nur "echte" Drucker gelten, also nicht die Pseudo-Drucker vom Microsoft Imaging, irgendwelche PDF-Drucker usw.
Hat jemand eine Idee?
Danke,
André
ich möchte mit einem VB-Script oder einer Batchdatei unter Windows 2000 folgendes tun:
1. Prüfen, ob ein lokaler Drucker installiert ist
2. Wenn ja, dann mit CON2PRT einen Netzwerkdrucker als Standarddrucker installieren (Option /CD)
3. Wenn nein, dann mit CON2PRT einen Netzwerkdrucker installieren, aber den lokalen Drucker als Standard lassen (Option /C)
Erschwerend kommt hinzu: Also lokaler Drucker sollen nur "echte" Drucker gelten, also nicht die Pseudo-Drucker vom Microsoft Imaging, irgendwelche PDF-Drucker usw.
Hat jemand eine Idee?
Danke,
André
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 07.08.2009 um 17:58:48 Uhr
Verschoben von "Windows" nach "Batch & Shell".
Content-ID: 111705
Url: https://administrator.de/forum/batch-oder-script-feststellen-ob-lokaler-drucker-installiert-ist-111705.html
Ausgedruckt am: 23.12.2024 um 19:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo Andre,
ich weiß ist schon älter und dieser Beitrag wurde bisher 360 mal aufgerufen.
Aber...
edit jau und nu hab ich das geschrieben und dabei auch schön gemerkt - das wird so nix....
(HKCU wird ja erst gefüllt, wenn der CU sich den Drucker besorgt hat)
Also nehm ich alles zurück und denk nochmal drüber nach...
"Du" bist selber Schuld - hättest du mal lieber nicht
Ergo den ganzen Kladderatsch wieder ändern in
Mit W2K nur mit Reg.exe aus XP oder regedit /e
Via reg.exe
Gruß
ich weiß ist schon älter und dieser Beitrag wurde bisher 360 mal aufgerufen.
Aber...
- weil ich den selber erst jetzt gefunden habe - und dir bisher keiner helfen wollte...
- ich ja immer dafür bin sich gegenseitig zu helfen
- deine Überschrift so passt, das es eigentlich nicht sein darf, das dieser Thread unbeantwortet / ungelöst zu finden ist..
edit jau und nu hab ich das geschrieben und dabei auch schön gemerkt - das wird so nix....
(HKCU wird ja erst gefüllt, wenn der CU sich den Drucker besorgt hat)
Also nehm ich alles zurück und denk nochmal drüber nach...
"Du" bist selber Schuld - hättest du mal lieber nicht
1. Prüfen, ob ein lokaler Drucker installiert ist
sondern1. Prüfen, ob ein lokaler Drucker angeschlossen ist geschrieben *lach*
Ergo den ganzen Kladderatsch wieder ändern in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers
Mit W2K nur mit Reg.exe aus XP oder regedit /e
regedit /E "%temp%\lpt.reg" "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices"
rem entweder gezielt nach LPT suchen
Find "LPT" %temp%\lpt.reg && goto lokal
Rem Oder komplexer zuerst Winspool filtern
Find "winspool" "%temp%\lpt.reg" | Find /V "Ne" goto lokal
echo kein lokaler Drucker gefunden
CON2PRT einen Netzwerkdrucker installieren, aber den lokalen Drucker als Standard lassen (Option /C)
goto end
:lokal
echo lokaler Drucker da
CON2PRT einen Netzwerkdrucker als Standarddrucker installieren (Option /CD)
del /q "%temp.reg"
Via reg.exe
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" |Find "winspool" |Find "/V" Ne && goto lokal
echo kein lokaler Drucker da,
CON2PRT einen Netzwerkdrucker installieren, aber den lokalen Drucker als Standard lassen (Option /C)
goto end
:lokal
echo lokaler drucker"
CON2PRT einen Netzwerkdrucker als Standarddrucker installieren (Option /CD)
:end
Gruß
Zitat von @SarekHL:
Hallo, und Danke erst mal für die Hilfe ...
Aber kapiert habe ich es noch nicht wirklich, also:
Hallo, und Danke erst mal für die Hilfe ...
Aber kapiert habe ich es noch nicht wirklich, also:
ja - da war ich wohl etwas zu voreilig ...
> regedit /E "%temp%\lpt.reg"
"HKEY_CURRENT_USER\Software\
> Microsoft\Windows NT\CurrentVersion\Devices"
Da soll ich jetzt stattdessen
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Print\Printers" schreiben, richtig?
Nein -leider nicht - der Ansatz war fürn allerwertesten...
ABER ... jetzt kommt das große "Aber": Was ist, wenn es sich um einen USB-Drucker handelt? Da steht dann nichts von LPT.
Yupp - daher auch die andere Variante mit dem Filtern..
da ist allerdings XP installiert und kein Win2000.
yupp auch bei mir...reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\" /s |Find "HKEY">"%temp%\allprinters.log"
for /f "delims==" %%a in ("%temp%\allprinters.log" ) do (
reg query "%%a\" /v |find "Port" |find "LPT" && Title %%A LPT Drucker gefunden
)
for /f "delims==" %%a in ("%temp%\allprinters.log" ) do (
reg query "%%a\" /v |find "Port" |find "USB" && Title %%a USB Drucker gefunden
)
Der andere wäre - den Beitrag nach Bereich "B wie Batch & Shell zu verschieben
Oder Besser ausgedrückt, nach Hilfe Bei Biber oder Bastla zu Betteln
Gruß
edit:
Oder noch Besser, selber schreiben - und ob elegant oder Channel Hauptsache es läuft
Ich wage zu Bezeifeln, dass meine Idee elegant war