Das Notes Forum
Sonstiges => Infrastruktur => Thema gestartet von: pd am 29.12.03 - 11:31:05
-
Bastle grad an einem kleinen Batch, dass einen Netzwerkdrucker als lpt1 mapt. Haben da noch dieses doofe OA4 in ner Abteilung laufen.
Es soll am Anfang checken, ob lpt1 schon vorhanden ist, falls ja löschen, falls nicht mit dem mappen fortfahren.
Irgendwas mach ich noch mit dem if exist falsch, ich nehme mal an, dass ich das lpt1 falsch anspreche.
Hat mir da einer nen Tipp?
Vielen Dank
Patrick
Hier der Code:
echo off
if exist lpt1: goto LPTKILL else goto KILLNIX
:LPTKILL
net use lpt1: /delete
:KILLNIX
sleep 3
net use lpt1: \\XXX.XXX.XXX.XXX\Freigabe
sleep 1
net use
sleep 1
echo Der Drucker wurde für OA4 zugewiesen!
sleep 1
echo Bitte teilen Sie uns mit, wenn diese Druckerzuordnung nicht mehr benötigt wird.
sleep 4
-
Yoo,
mit "IF EXIST" kannst Du nur die Existenz von Dateien abfragen, aber nicht von Geräten. Ich denke hier liegt der Fehler.
Ich bin leider mit dem Microschrott-Netzwerk nicht so vertraut und kenne daher keine Möglichkeit ein Gerät abzufragen.
Aber so aus dem Bauch heraus würde ich die IF-Abfrage einfach weglassen, wenn Du so oder so den Drucker löschen willst.
Gruss ...
Hoshee
-
If weglassen und die Ausgabe des net use ins Nirvana schicken. Anders geht das wirklich nicht, die Existens von Devices lässt sich in Batch nicht machen (ohne da mal kurz irgend ein Progrämmchen dafür zu schreiben .....) also:
net use lpt1: /d > nul
-
Danke erstmal,
Hintergrund des Löschens ist der, dass ich nicht davon ausgehen kann, dass lpt1: nicht schon zugewiesen ist.
Sollte jetzt also irgendeine Zuweisung existieren wird das Batch wohl hängen bleiben. (hab ich aber noch nicht probiert)
Ich glaub ich machs jetzt so, wie es Semeaphoros meinte (ich glaub so wars gemeint ;-) Ich lösch das Ding auf jedenfall, wenn dann ne Fehlermeldung kommt, geht er ja drüberweg.
Grüßle, Patrick
Als Workaround könnt ich ja irgendwas über den Drucker ausgeben, den User fragen, ob ein Druck herausgekommen ist, und dann mit der Usereingabe weiterarbeiten ;-)
-
.... und wenn der User nicht antwortet, so reagieren wie ein beleidigtes Lama ...... ;D
-
Spucken?
-
;D 8) ;D
-
@Hoshee - nicht nur Dateien sondern Laufwerke lassen sich auch problemlos über net use abfragen...
z.B: IF EXIST F: net use F: /delete
@PD - ich würde die Lösung von Jens nehmen. Die Fehlermeldung kannst Du ja durch ein echo off unterdrücken...
-
Hi,
hat nur indirekt mit dem Thema zu tun:
Was übrigens viele nicht wissen: bei Windows XP (und afaik 2K) gibt es eine gar nicht schlechte Hilfe zu den DOS-Befehlen.
Auf'm Desktop F1 drücken (Achtung: bei mir will dann die c:\windows\pchealth\helpctr\binaries\helphost.exe nach Hause telefonieren lt. Firewall...)
Dann in der Suche "Befehlszeilenreferenz" eingeben. Dann "Befehlszeilenreferenz A bis Z" auswählen.
Kann sehr hilfreich sein....
TMC
-
Danke, ich kuck mal aufm Klapptopf, da hab ich XP drauf.
Ansonsten hab ichs jetzt so gelassen, dass er halt nen Fehler ausspuckt, wenn er lpt1 löschen will, dass gar nicht existiert.
Das Ergebnis ist ja das gleiche.
Und wie Martin sagt, echo off, und die Kolleginnen kommen auf keine dummen Gedanken (do schdimmd ebs niddeeeee!!)
Grüßle und frohes Neues
Patrick
-
Klapptopf :D
das gehört doch hier rein:
Fachwörterbuch (http://www.atnotes.de/index.php?board=12;action=display;threadid=12535)