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-ID: 5057

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

joeklemm
joeklemm 22.12.2004 um 18:34:45 Uhr
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
joeklemm
joeklemm 22.12.2004 um 18:49:47 Uhr
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"
superdupper
superdupper 23.12.2004 um 08:09:49 Uhr
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.
superdupper
superdupper 23.12.2004 um 08:23:13 Uhr
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 ?
joeklemm
joeklemm 23.12.2004 um 19:11:43 Uhr
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
superdupper
superdupper 29.12.2004 um 19:11:10 Uhr
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
Lapislazuli
Lapislazuli 25.01.2008 um 19:20:08 Uhr
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
joeklemm
joeklemm 26.01.2008 um 22:10:19 Uhr
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
Lapislazuli
Lapislazuli 27.01.2008 um 11:01:36 Uhr
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
joeklemm
joeklemm 30.01.2008 um 07:56:58 Uhr
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
Lapislazuli
Lapislazuli 09.02.2008 um 10:11:10 Uhr
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