marxworld
Goto Top

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 face-wink, vielleicht gibt es aber doch eine Lösung. Mit wäre wirklich sehr geholfen.


Gruß und vielen Dank


Marxworld

Content-Key: 13447

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

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

Member: Marxworld
Marxworld Jul 21, 2005 at 14:08:00 (UTC)
Goto Top
Tja, es ist klar der im Vorteil, der lesen kann. Ich habe erst jetzt die Suchfunktion benutzt und einen Beitrag (von Klemmi) gefunden der passt.

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

Allerdings bin ich ziemlich unfirm was die Erstellung von irgendwelchen Batch Dateien angeht. Meine Frage nun: Wenn ich die Befehle wie angegeben in eine Batch Datei einfüge unter welchen Kürzel speicher ich sie ab - wohl unter *.bat - oder ? Das zweite, in welchem Verzeichnis lege ich die Batch Datei ab? Und drittens, muß ich in der eigentlichen exe Datei einen Verweis auf die Batch bringen?.


Ich hoffe es erhört mich jemand.


Gruß


Marxworld
Mitglied: 11078
11078 Jul 21, 2005 at 14:44:34 (UTC)
Goto Top
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:

net use LPT1 \\server\drucker 
meinprogramm.exe

Dann musst Du nur noch die Batch starten und alles geschieht in einem Abwasch...

]
Member: Grillmeister
Grillmeister Jul 21, 2005 at 14:49:13 (UTC)
Goto Top
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
Member: Marxworld
Marxworld Jul 22, 2005 at 06:27:47 (UTC)
Goto Top
Hallo Tim, hallo Grillmeister,

vielen Dank für Euere Hilfe. Da ich wie gesagt in den Dingen noch etwas unerfahren bin, habe ich noch folgende Fragen:

1. server - welchen Eintrag soll ich da nehmen, bzw. wo finde ich die bei Netzwerkeinstellung in der der Art wie z.b. yahoo.de (blödes Beispiel, ich weiß)

2. Drucker - die Druckerbezeichnung, oder die IP des Druckers? Wenn die Bezeichnung, ist es die die ich unter den Druckereinstellungen finde?


Vielen DAnk im voraus


Steffen
Mitglied: 11078
11078 Jul 22, 2005 at 07:42:55 (UTC)
Goto Top
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
Member: Grillmeister
Grillmeister Jul 22, 2005 at 08:13:16 (UTC)
Goto Top
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
Member: 600er
600er Aug 14, 2006 at 08:25:35 (UTC)
Goto Top
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
Member: MistaMilla
MistaMilla Dec 27, 2006 at 13:06:09 (UTC)
Goto Top
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...