superdupper
Goto Top

DOS-Programm soll auf Windows-Netzwerk-Drucker drucken.

Vielleicht off-Topic , dennoch :

Ich hab mit viel gewürge ein Uralt-DOS Programm auf einem Rechner zum laufen gebracht, das Programm bietet mir zum drucken den Port LTP 1 an und druckt auch auf einem lokalen Drucker einwandfrei.

Wie schaff ich es das Programm zu überlisten und Druckaufträge an den LTP 1 - Port an einen Netzwerk drucker umzuleiten. Geht so was überhaupt ???


Betriebssystem ist Win NT und das Programm läuft im DOS-Fenster.

Content-Key: 5057

Url: https://administrator.de/contentid/5057

Printed on: April 19, 2024 at 01:04 o'clock

Member: joeklemm
joeklemm Dec 22, 2004 at 17:34:45 (UTC)
Goto Top
Du kannst LPT1 zu einem Netzwerkdrucker umleiten über den folgenden Befehl:

net use LPT1 \\<Server>\<Drucker>

<Server>: das ist der Server oder Client, an dem der zu verwendene Drucker installiert ist. Kann auch ein zentraler Print-Server sein.

<Drucker>: Freigabe-Name des Druckers

Kennst Du den Namen des Druckers nicht, hilft:
net view \\<Server>

Hoffe, es hilft.
Gruß und schöne Feiertage
Member: joeklemm
joeklemm Dec 22, 2004 at 17:49:47 (UTC)
Goto Top
Hier nochmal das ganze, diesmal mit Anführungszeichen, da "größer als" und "kleiner als" nicht angezeigt wurden:

"net use LPT1 \\server\drucker"

server: das ist der Server oder Client, an dem der zu verwendende Drucker installiert ist. Kann auch ein zentraler Print-Server sein.

drucker: Freigabe-Name des Druckers

Kennst Du diesen Freigabe-Namen nicht, hilft:
"net view \\server"
Member: superdupper
superdupper Dec 23, 2004 at 07:09:49 (UTC)
Goto Top
DANKE

Das heißt ich muss die Befehlszeile vor dem Start meines Programmes eingeben und die Zuweisung funktioniert dann die ganze Zeit über wird aber beim ausschalten des Rechners wieder rückgängig gemacht. Und ich geb die Zeile beim nächsten mal wieder neu ein.
Ich verändere dadurch jedenfalls nichts dauerhaft an meiner Rechner-Konfig.
Member: superdupper
superdupper Dec 23, 2004 at 07:23:13 (UTC)
Goto Top
und kann ich die Befehlszeile für meine DAU´s auch in eine kleine Datei verpacken (bat oder so) die sie vor dem eigentlichen Programm ausführen können ?
Member: joeklemm
joeklemm Dec 23, 2004 at 18:11:43 (UTC)
Goto Top
Habe das für ein selbst geschriebenes DOS-Programm (Tipp-Verwaltung) als BAT-Datei gelöst. Hier die Zeilen:

"net use LPT1 /delete" (damit wird egal welche Zuordnung sicherheitshalber mal vorher gelöscht)

"net use LPT1 \\server\drucker" (die gewünschte Zuordnung)

"TIPP.EXE" (so heißt mein Programm)

"net use LPT1 /delete" (nochmal löschen, man(n) weiß ja nie...)

"net use" (zeigt Dir alle Zuordnungen anschließend an)

Jetzt legst Du einfach noch eine Verknüpfung auf dem NT-PC an und fertig.

Wenn Du noch 'ne Frage hast ...
Gruß und SWF
Member: superdupper
superdupper Dec 29, 2004 at 18:11:10 (UTC)
Goto Top
Danke ,
deine Tipps haben alle funktioniert, bin aber auf ein weiteres Problem gestossen, Ich muss einen Hardware-Dongel an LPT1 ansteuern und deshalb nicht auf einen Netzwerk-Drucker umleiten, Schade.

Aber dennoch vielen Dank
Member: Lapislazuli
Lapislazuli Jan 25, 2008 at 18:20:08 (UTC)
Goto Top
Hallo zusammen,

ich habe ein ähnliches Problem und zwar habe ich zwangsweise noch ein DOS-programm auf WinVista laufen, das in den Druckeinstellungen nur LPT1 und 2 kennt. Mein Rechner hat allerdings gar keinen LPT-Anschluss, weswegen der Drucker über USB angeschlossen ist. Folge ist, dass ich den Drucker dem Programm nicht erkennbar machen kann. Das Programm startet sofort, ich habe gar keine Chance die oben genannten Befehle einzugeben.
Gibt es da irgendwelche Möglichkeiten?

vielen Dank
Member: joeklemm
joeklemm Jan 26, 2008 at 21:10:19 (UTC)
Goto Top
Hallo Lapislazuli,
an meinem PC hängt ebenfalls ein Drucker per USB. Da ich bisher nicht mit Vista arbeite, hier eine Kurzanleitung für XP:
  • unter "Drucker und Faxgeräte" den angeschlossenen Drucker freigeben (rechte Maustaste auf Drucker, dann EIGENSCHAFTEN, dann Register FREIGABE, dann Freigabe aktivieren und Namen festlegen

  • DOS-Programm aus einer Batch-Datei starten mit folgendem Inhalt:
1. Zeile: net use LPT1 \\dein-pc\freigabe-name-des-druckers

2. Zeile: start /max /wait Dein-DOS-Programm

3. Zeile: net use LPT1 /delete

Den Befehl "start" in der zweiten Zeile habe ich benutzt, damit die 3. Zeile erst ausgeführt wird, wenn die 2. Zeile beendet, sprich, Dein DOS-Programm geschlossen wird.

Bei Fragen fragen.

Gruß Klemmi
Member: Lapislazuli
Lapislazuli Jan 27, 2008 at 10:01:36 (UTC)
Goto Top
Hallo und vielen Dank schon mal!

Klappt noch nicht ganz alles:

net use LPT1 \\home-base\c1
start /max /wait sb.exe

- funktioniert wunderbar


net use LPT1 /delete

- taucht gar nicht auf. D.h. die dritte Zeile wird nicht ausgeführt... was mache ich falsch?


und im Programm selber kommt dann dieselbe Fehlermeldung wie vorher auch "Drucker ist nicht bereit"

Wenn ich die dritte Zeile ganz weglasse komme ich nach Zeile 1 bei Fehler 85 raus: Der lokale Gerätename wird bereits verwendet. ...?


Aber bis auf die Kleinigkeit scheint es schon zu funktionieren face-smile

Liebe grüße
Member: joeklemm
joeklemm Jan 30, 2008 at 06:56:58 (UTC)
Goto Top
Hallo nochmal,
solange das DOS-Programm den Drucker als "nicht bereit" erkennt, haben wir ja noch das gleiche Problem. Funktioniert der Drucker, wenn Du Zeile 1 und Zeile 2 in einer DOS-Eingabe eintippst? Ist es möglich, daß ich es selbst einmal mit Deinem Programm testen kann?

Gruß Klemmi
Member: Lapislazuli
Lapislazuli Feb 09, 2008 at 09:11:10 (UTC)
Goto Top
Hallo,

nein der Druckter tut leider gar nicht. Ich muss schon alle Zeilen in eine Datei reinschreiben oder? Das Programm kannst du gerne haben, wenn du dir die Mühe machen möchtest, ich verzweifel langsam obwohl das sicherlich nur ein kleiner Dreher drin ist den ich nicht sehe...

Liebe Grüße