Aus DOS Programm auf Netzwerkdrucker ausdrucken? - Win XP
Hallo!!
Vielleicht kann mir jemand helfen. Bei der Arbeit steigen wir gerade von Uralt PC´s auf neue um. Das bisherige Programm (reines DOS Programm) soll und muß aber übergangsweise auf den neuen Rechnern (XP) weiter genutzt werden. Nun ist es so, dass jeder Rechner in einem Netzwerk hängt und es für mehrere Rechner nur einen Netzwerkdrucker gibt. Das eigentliche Problem ist, wie bekomme ich den Rechner dazu aus dem DOS PRogramm heraus auf den Netzwerkdrucker zu drucken? Bei einem direkt angeschlossenen Drucker klappt es ja. Von der Logik ist mir auch klar, dass DOS mit Netzwerken wahrscheinlich Probleme hat , vielleicht gibt es aber doch eine Lösung. Mit wäre wirklich sehr geholfen.
Gruß und vielen Dank
Marxworld
Vielleicht kann mir jemand helfen. Bei der Arbeit steigen wir gerade von Uralt PC´s auf neue um. Das bisherige Programm (reines DOS Programm) soll und muß aber übergangsweise auf den neuen Rechnern (XP) weiter genutzt werden. Nun ist es so, dass jeder Rechner in einem Netzwerk hängt und es für mehrere Rechner nur einen Netzwerkdrucker gibt. Das eigentliche Problem ist, wie bekomme ich den Rechner dazu aus dem DOS PRogramm heraus auf den Netzwerkdrucker zu drucken? Bei einem direkt angeschlossenen Drucker klappt es ja. Von der Logik ist mir auch klar, dass DOS mit Netzwerken wahrscheinlich Probleme hat , vielleicht gibt es aber doch eine Lösung. Mit wäre wirklich sehr geholfen.
Gruß und vielen Dank
Marxworld
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 13447
Url: https://administrator.de/contentid/13447
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo,
Du mapst mit dem Befehl aus dem anderen Beitrag auf LPT1 den Netzwerkpfad eines Netzwerkdruckers. Damit kannst Du den Drucker dann einfach als LPT1 ansprechen (das ist das gleiche wie mit einem Netzlaufwerk. Es bekommt einen "lokalen" Laufwerksbuchstaben, obwohl es kein lokales Laufwerk ist). Natürlich muss dieser Befehl vor der Nutzung Deines "DOS"-Programms eingegeben werden.
1. Schreib den Befehl in eine Datei mit der Endung .bat
2. Es ist egal, wo Du die Batch-Datei hinspeicherst. Da Du sie aber immer aufrufen musst, bevor Du das DOS-Programm startest, wäre es sinnvoll, die Batch-Datei denselben Ordner zu legen, in dem auch das DOS-Programm ist. Dann sind "die Wege" kürzer.
3. Der Befehl in der Batch muss nur vor dem DOS-Programm aufgerufen werden. Das DOS-Programm selbst muss keine "Kenntnis" von der Batch haben. Wenn Du allerdings Zugriff auf den Quelcode der EXE hast, kannst Du den "net use" Befehl vielleicht auch im Quelltext des Programmes unterbringen (ist ja nur ein Shell-Aufruf) und es einfach neu kompilieren. Wie das geht (und ob) hängt von der Programmiersprache ab, in der das Programm verfasst wurde.
Gruß,
TIM
[EDIT: Noch einfacher - starte das DOS-Programm doch auch einfach aus der Batch heraus, also:
Dann musst Du nur noch die Batch starten und alles geschieht in einem Abwasch...
]
Du mapst mit dem Befehl aus dem anderen Beitrag auf LPT1 den Netzwerkpfad eines Netzwerkdruckers. Damit kannst Du den Drucker dann einfach als LPT1 ansprechen (das ist das gleiche wie mit einem Netzlaufwerk. Es bekommt einen "lokalen" Laufwerksbuchstaben, obwohl es kein lokales Laufwerk ist). Natürlich muss dieser Befehl vor der Nutzung Deines "DOS"-Programms eingegeben werden.
1. Schreib den Befehl in eine Datei mit der Endung .bat
2. Es ist egal, wo Du die Batch-Datei hinspeicherst. Da Du sie aber immer aufrufen musst, bevor Du das DOS-Programm startest, wäre es sinnvoll, die Batch-Datei denselben Ordner zu legen, in dem auch das DOS-Programm ist. Dann sind "die Wege" kürzer.
3. Der Befehl in der Batch muss nur vor dem DOS-Programm aufgerufen werden. Das DOS-Programm selbst muss keine "Kenntnis" von der Batch haben. Wenn Du allerdings Zugriff auf den Quelcode der EXE hast, kannst Du den "net use" Befehl vielleicht auch im Quelltext des Programmes unterbringen (ist ja nur ein Shell-Aufruf) und es einfach neu kompilieren. Wie das geht (und ob) hängt von der Programmiersprache ab, in der das Programm verfasst wurde.
Gruß,
TIM
[EDIT: Noch einfacher - starte das DOS-Programm doch auch einfach aus der Batch heraus, also:
net use LPT1 \\server\drucker
meinprogramm.exe
Dann musst Du nur noch die Batch starten und alles geschieht in einem Abwasch...
]
Hallo,
wenn du das dauerhaft benötigst, dann erstelle einfach eine Textdatei, in der schreibst du die Befehle rein z.B:
net use LPT1 \\server\drucker
Diese Datei benennst du dann z.B. in "Druckerumleitung.BAT" um und kopierst sie in den Autostart von Windows, damit wird sie dann immer gestartet wenn du dich anmeldest.
Grillmeister
wenn du das dauerhaft benötigst, dann erstelle einfach eine Textdatei, in der schreibst du die Befehle rein z.B:
net use LPT1 \\server\drucker
Diese Datei benennst du dann z.B. in "Druckerumleitung.BAT" um und kopierst sie in den Autostart von Windows, damit wird sie dann immer gestartet wenn du dich anmeldest.
Grillmeister
Hallo,
wie muss ich mir denn den Netzwerkdrucker vorstellen: Hat der Drucker eine eigene Netzwerkkarte oder ist er ein für das Netzwerk freigegebener Drucker an einem anderen Rechner?
Gruß,
TIM
wie muss ich mir denn den Netzwerkdrucker vorstellen: Hat der Drucker eine eigene Netzwerkkarte oder ist er ein für das Netzwerk freigegebener Drucker an einem anderen Rechner?
Gruß,
TIM
hi steffen,
der Drucker ist warscheinlich an einem Rechner installiert, wo er freigegeben ist.
der Name von diesem Rechner ist der "Server"name.
die Freigabe findest du heraus, indem du an dem Rechner die Druckereigenschaften ansiehst, dort unter dem Punkt Freigabe wird der Name angezeigt.
also z.b. \\pc101\hp1100
wenn der Drucker eine eigene Netzwerkkarte hat, kann man am Client den net use befehl auch auf eine IP durchführen z.B.
net use LPT1 \\192.168.1.10\lp
lp ist hier der Name der Warteschlange. Solche Drucker kann man meistens über den Webbrowser konfigurieren, probiers mal mit http://IP-des-Druckers
hoffe das hilft.
Carsten
der Drucker ist warscheinlich an einem Rechner installiert, wo er freigegeben ist.
der Name von diesem Rechner ist der "Server"name.
die Freigabe findest du heraus, indem du an dem Rechner die Druckereigenschaften ansiehst, dort unter dem Punkt Freigabe wird der Name angezeigt.
also z.b. \\pc101\hp1100
wenn der Drucker eine eigene Netzwerkkarte hat, kann man am Client den net use befehl auch auf eine IP durchführen z.B.
net use LPT1 \\192.168.1.10\lp
lp ist hier der Name der Warteschlange. Solche Drucker kann man meistens über den Webbrowser konfigurieren, probiers mal mit http://IP-des-Druckers
hoffe das hilft.
Carsten
Hi!
Ich weiß, ist schon etwas älter aber eigentlich genau die Lösung meines Problems, nur dass ich immer den Fehler bekomme Typ der Netzwerkressource ist falsch (sinngemäß) Systemfehler 66.
Ich brauche also den Warteschleifennamen, nur wo kann ich den finden, in der "online Verwaltung" des Druckers kann man hierzu nichts eingeben....
Wenn ich dann unter Druckereinstellungen den Anschluss "konfiguriere" kann man hier einen Warteschlangennamen eingeben, doch dies hat keine Auswirkung auf das Druckverhalten.
Wenn ich eine Windows Testseite drucke, dann steht in der Ziele Datenformat RAW.
Drucker: Epson AcuLaser C4000 (mit integrierter Netzwerkschnitstelle, über die er auch angeschlossen ist)
Betriebssystem: Windows XP Prof. SP2
Bin echt ratlos!
Danke für die Hilfe schon im Vorraus!
Thomas
Ich weiß, ist schon etwas älter aber eigentlich genau die Lösung meines Problems, nur dass ich immer den Fehler bekomme Typ der Netzwerkressource ist falsch (sinngemäß) Systemfehler 66.
Ich brauche also den Warteschleifennamen, nur wo kann ich den finden, in der "online Verwaltung" des Druckers kann man hierzu nichts eingeben....
Wenn ich dann unter Druckereinstellungen den Anschluss "konfiguriere" kann man hier einen Warteschlangennamen eingeben, doch dies hat keine Auswirkung auf das Druckverhalten.
Wenn ich eine Windows Testseite drucke, dann steht in der Ziele Datenformat RAW.
Drucker: Epson AcuLaser C4000 (mit integrierter Netzwerkschnitstelle, über die er auch angeschlossen ist)
Betriebssystem: Windows XP Prof. SP2
Bin echt ratlos!
Danke für die Hilfe schon im Vorraus!
Thomas
Hallo!
Das mit der Batch-Datei ist unnötig, schreibt doch einfach hinter den Befehl noch
/persistent:yes
Dann bleibt es für "immer", zumindest unter WinXP....
Vielleicht kann mir jemand helfen, und zwar habe ich eigentlich das gleiche Problem.
Nach einem Rechneraustausch mußte ich das alte Lector-Programm unter XP zum Laufen bringen, was auch funktioniert, nur kann auch ich den Netzwerkdrucker nicht ansprechen. Dieser hängt direkt am Netz ohne Rechner dazwischen (Lexmark Optra T614). Das komische ist, ich kann problemlos den LPT simulieren, aber wenn ich dann zur Überprüfung mit net use die Liste ausgeben lasse, steht bei diesem LPT "nicht verfügbar" davor.
Ich muß noch dazu sagen, der Freigabename ist der der Apple-Talk-Freigabe, und früher war das immer so, dass dieser ausgemusterte Rechner manchmal an sein mußte, dass man auf dem Netzwerkdrucker drucken konnte!?!?
Dann habe ich zum Test diesen Drucker wie einen lokalen Drucker installiert (über die IP-Adresse) und versucht, diesem einen LPT zuzuweisen, bringt auch nichts. Aber das kann ja auch nicht gehen, oder? Weil die Syntax ja \\server\drucker ist... da fehlt mir ja "server".
Hat jemand eine Idee? Ist echt dringend...
Das mit der Batch-Datei ist unnötig, schreibt doch einfach hinter den Befehl noch
/persistent:yes
Dann bleibt es für "immer", zumindest unter WinXP....
Vielleicht kann mir jemand helfen, und zwar habe ich eigentlich das gleiche Problem.
Nach einem Rechneraustausch mußte ich das alte Lector-Programm unter XP zum Laufen bringen, was auch funktioniert, nur kann auch ich den Netzwerkdrucker nicht ansprechen. Dieser hängt direkt am Netz ohne Rechner dazwischen (Lexmark Optra T614). Das komische ist, ich kann problemlos den LPT simulieren, aber wenn ich dann zur Überprüfung mit net use die Liste ausgeben lasse, steht bei diesem LPT "nicht verfügbar" davor.
Ich muß noch dazu sagen, der Freigabename ist der der Apple-Talk-Freigabe, und früher war das immer so, dass dieser ausgemusterte Rechner manchmal an sein mußte, dass man auf dem Netzwerkdrucker drucken konnte!?!?
Dann habe ich zum Test diesen Drucker wie einen lokalen Drucker installiert (über die IP-Adresse) und versucht, diesem einen LPT zuzuweisen, bringt auch nichts. Aber das kann ja auch nicht gehen, oder? Weil die Syntax ja \\server\drucker ist... da fehlt mir ja "server".
Hat jemand eine Idee? Ist echt dringend...