Forum: PC-Programmierung .BAT File zum Ducken (mit Datum)


von Christoph (Gast)


Lesenswert?

Hallo,

ich bräuchte eure Hilfe!
Ich hätte gerne ein *.bat File mit dem ich mit einem Nadeldrucker wenn 
das File ausgeführt wird eine Zeile drucken kann. Die Zeile sollte so 
aussehen:


Text                                Uhrzeit             Datum



Ich hoffe mir kann wer helfen, hab es selbst schon probiert, hab es aber 
nicht geschafft!

Danke schon mal!

mfg
Christoph

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

1
echo  Text  %%time%%  %%date%% > prn:

(statt prn: den Devicenamen des Druckers einsetzen)

Das gibt zwar kein sehr schönes Uhrzeitformat, aber funktioniert:
1
Text    9:52:34,33  23.05.2007

von Christoph (Gast)


Lesenswert?

Hallo

Danke für die Antwort!

Was ist genau der Devicename des Druckers, ist das der Name wie der 
Drucker heißt, so wie er im Ordner der Drucker steht?

so z.B.:


echo  Text  %%time%%  %%date%% > Canon i6500


oder gibt es da einen allgemeinen Namen für den als Standard 
festgelegten Drucker?

mfg
Christoph


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du willst auf einen Nadeldrucker drucken, das geschieht unter Umgehung 
des Windows-Druckertreibers.

Der Nadeldrucker ist an irgendeiner Schnittstelle an Deinem Rechner 
angeschlossen, das kann LPT1: sein ... oder halt auch COM1: oder was 
auch immer.

von Christoph (Gast)


Lesenswert?

Hallo,


also wenn der Drucker an LPT1 angeschlossen ist dann schaut das so aus 
oder?

echo  Text  %%time%%  %%date%% > LPT1


und dann fuktioniert das oder?

mfg

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ja.

Um den Druckjob zu beenden, musst Du noch ein Ctrl-Z an den Drucker 
senden. Das geht am einfachsten, in dem Du eine Textdatei erzeugst, die 
dieses Zeichen enthält und das mit
1
copy control-z.txt lpt1

abschickst.

Wie wird denn das gedruckt, was nach dieser Titelzeile ausgegeben werden 
soll?

von Christoph (Gast)


Lesenswert?

Hallo,

nach dieser Textzeile soll nichts mehr gedrucht werden, es soll so ein 
Art Status protokolliert werden.

Kannst du mir noch mal den ganzen Code schreiben, also das ich auf LPT1 
drucken kann und das er dannach das Textfile sendet und wie schreibe 
STRG+Z in das Textfile?

von Rufus Τ. F. (rufus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ach nee. Ist es wirklich so schwer, zwei Zeilen 
hintereinanderzuschreiben?
1
echo  Text  %%time%%  %%date%% > lpt1:
2
copy control-z.txt lpt1:

Und so eine Datei kannst Du Dir mit irgendeinem Hex-Editor selber 
machen.

Im Anhang ist sowas.

von Nachdenklicher .. (dms)


Lesenswert?

ich rate mal eher ODH OAH wird der Drucker brauchen CR LF ...

von Simon K. (simon) Benutzerseite


Lesenswert?

Nachdenklicher ... wrote:
> ich rate mal eher ODH OAH wird der Drucker brauchen CR LF ...

Quark.

CRLF wird dich in die nächste Zeile versetzen, und den Cursor an den 
Anfang setzen.

von Nachdenklicher .. (dms)


Lesenswert?

Ahoi Simon,

....und dabei den Nadeldrucker zwingen die Zeile auszuspucken

- nein die Quellen von 1988 schreib.exe finde ich nicht mehr - hatte das 
mal gemacht um auf dem Nadeldrucker Formulare ausfüllen zu können - war 
aber nicht so der Kracher

schönen Abend dann noch

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Control-Z (0x1a) benötigt nicht der Drucker, sondern der 
Windows-Druckerspooler.

von Nachdenklicher .. (dms)


Lesenswert?

..an den Spooler habe ich nicht mehr gedacht - aber zwingt der dadurch 
dann nicht eine Seite durch den Druker - kann das mit dem ESPSON HX20 
nicht simulieren ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, eine Seite erzwingt der Spooler nicht, das geschieht nur, wenn man 
auch noch den seitenorientierten Windows-GDI-Druckertreiber verwendet. 
Das aber geht so einfach gar nicht ...

von Christoph (Gast)


Lesenswert?

Hallo,

so wie es rufus geschrieben hat hat es funktioniert!!

nur das man bei time und date davor nur ein % braucht weil es sonst den 
Text schreibt!

mfg
Christoph

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Hmm. An sich ist das doppelte Lottchen erforderlich, weil der 
Kommandozeileninterpreter cmd.exe in Batchdateien Environmentvariablen 
anders ersetzt als direkt in der Kommandozeile ... aber 
merkwürdigerweise gehts auch so.

Nunja, dann ist ja immerhin das Problem gelöst und Steinzeittechnik wird 
weiter am Leben erhalten. Auch schön.

Schratz-Schratz-Rassel-Schratz ...

von Simon K. (simon) Benutzerseite


Lesenswert?

Rufus t. Firefly wrote:
> Schratz-Schratz-Rassel-Schratz ...

Hab auch noch so einen. Zum Code oder IETF-RFCs ausdrucken absolut 
ausreichend! ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.