Hallo Beisammen,
ich versuche mittels Batch im Autostart den Standarddrucker in Abhängigkeit davon automatisch zu verändern, ob ich im Home office (DHCP-Server ist eine Fritzbox mit Standardenstellung, d.h. 192.168.178.1) oder im Büro (DHCP-Server dort 110.XXX.YY.1) bin.
ping -n 1 192.168.178.1
if not %errorlevel% 1 goto ZUHAUSE
:NICHTZUHAUSE
rundll32 printui.dll,PrintUIEntry /y /n "Ineo Kopierer"
goto ENDE
:ZUHAUSE
rundll32 printui.dll,PrintUIEntry /y /n "Xerox WorkCentre"
:ENDE
Ich habe bisher zwei Batchfiles "Ineo,bat" und "Xerox.bat" mit den betr. Zeilen ("rundll32 printui.dll,PrintUIEntry /y /n "Ineo Kopierer" oder "rundll32 printui.dll,PrintUIEntry /y /n "Xerox WorkCentre" ) die funktionieren, d.h. stellen die Standarddruckereinstellung um, wenn ich auf den einen oder anderen Batchfile clicke. Das soll nun also automatisiert werden.
Ich verstehe die errorlevel-Ausgabe des ping Befehls so, das 0 = kein Fehler, und 1 bis X irgendein Fehler ist, aber bei Verwendung von if der errolevel 1 imer auch die errolevel 2 bis n umfasst, so dass das if errolrlevel 0 immer wahr wäre. Daher habe ich hier mit "if not" gearbeitet: immer, wenn nicht Fehler .1 bis n vorliegt, bin ich zuhause, d.h. soll der Xerox der Standarddrucker sein.
Aber: es fiunktioniert dennoch nicht. Was ist hier mein Denkfehler?