Schreiben einer bat-Datei

Hallo zusammen,

ich möchte eine bat-Datei schreiben, die eine druckbefehl auf meinen
druckern auslöst. Also eine sogenannte Testseite (selbsterstellt)druckt.
Gibt es eine möglichkeit mit „net use“ hat mir mal mein Kumpel gesagt, aber er konnte mir nur diesen Befehl geben und nicht weiter :frowning:.

Vielleicht kann mir jemand weiterhelfen, wäre sehr froh.
Danke :smile:
PAUL

Und wie wärs mit

 NOTEPAD /P myfile 

Bzw. müsste das auch mit Word gehen. Bzw. musst du schaun, was aufgerufen wird, wennst im Contextmenü eines Word-Dokuments auf Drucken gehst. Und wennst du eine bunte Testseite willst - dann kannst dir ja ein Word-Dokument zusammenstellen.

Hallo zusammen,

ich möchte eine bat-Datei schreiben, die eine druckbefehl auf
meinen
druckern auslöst. Also eine sogenannte Testseite
(selbsterstellt)druckt.
Gibt es eine möglichkeit mit „net use“ hat mir mal mein Kumpel
gesagt, aber er konnte mir nur diesen Befehl geben und nicht
weiter :frowning:.

Also ich glaube „net use“ hilft dir nicht direkt:
http://www.microsoft.com/resources/documentation/win…

Damit kannst du dich mit Netzwerkfreigaben (Dateien/Drucker) verbinden.

Für das Drucken einer Standard-Testseite habe ich http://www.robvanderwoude.com/2kprintcontrol.html gefunden.

Wenn du ein spezielle Testseite haben willst, schaue mal, ob die Anwendung, mit der du die Testseite erstellt hast, Kommendozeilenoptionen unterstützt. IIRC bieten hierüber ein paar Programme an, dass eine Datei direkt gedruckt wird. Über irgendsoetwas wurde glaube ich auch der Befehl abgearbeitet, wenn man im Kontext-Menü einer Datei drucken auswählt (steht irgendwo in der Regestry).

Alles aber ohne Garantie. Hier läuft im Moment kein Windows.

ich möchte eine bat-Datei schreiben, die eine druckbefehl auf
meinen druckern auslöst. Also eine sogenannte Testseite
(selbsterstellt)druckt.
Gibt es eine möglichkeit mit „net use“ hat mir mal mein Kumpel
gesagt, aber er konnte mir nur diesen Befehl geben und nicht
weiter :frowning:.

Hi Paul,
lang her mit Dos, probier mal was davon:

Type Test.txt > lpt1
Type Test.txt > prn

Allerdings sprichst du von mehreren Druckern.

Gruß
Reinhard

Danke für den Tip, aber ich kann nur auf meinem Standard Drucker die Testseite rauslassen und nicht auf allen :frowning:. Vielleicht kann man den Befehl irgendwie erweitern.
Aber trotzdem Danke :wink:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich hab jetzt eine Befehlgefunden:wink:
lpr -S -P lp

ich kann jetzt alle drucker ansprechen.

Aber wenn ein Drucker jetzt ausgeschalten ist muss ich
jedes Mal bestädigen, dass die Datei fortgesetzt wird. :frowning:

Gibt es vielleicht irgendeine möglichkeit, eine Schleife
einzubauen, in der eine nicht zu erreichende IP automatisch
überspringt und mit der nächsten weiter macht?

PAUL

Gibt es vielleicht irgendeine möglichkeit, eine Schleife
einzubauen, in der eine nicht zu erreichende IP automatisch
überspringt und mit der nächsten weiter macht?

Sieh mal da:http://de.wikibooks.org/wiki/Batch-Programmierung:_B…
(Google: windows batch schleife ping)

Also etwa so (ungetestet):

----- testseite.bat -----
ping %1 -n 1 >nul
if %status%==0 (lpr -S %1 -P lp %2)

Aufruf mit testseite.bat

Johannes Matschke

Hab jetzt mein Programm fertig :smile:
ich habe den den Befehl einfach mehrfach untereinander geschrieben:

ping -n 1 >nul
if errorlevel 1 (goto nein0) else goto ja0

:ja0
lpr -S -P lp test.txt && echo angeschlossen >auswertung.txt && goto 0

:nein0
echo nicht angeschlossen > auswertung.txt
:0
ping -n 1 >nul

Eine saumäßige arbeit bei 100 Druckern :frowning:
Hab neben bei noch den status ob erreichbar oder nicht noch in eine
Datei geschrieben.
Und des Funktioniert einwandfrei.
Aber trotzdem nochmal Danke für eure tipps

PAUL

Hallo Paul!

Hab jetzt mein Programm fertig :smile:

Fein!

ich habe den den Befehl einfach mehrfach untereinander
geschrieben:

Und was machst Du, wenn ein neuer IP-Adressraumvergeben wird? Oder Du nur ein paar Nachtesten möchtest?

Search’n’Replace? Cut’n’Save? :wink:

Hier mein Vorschlag:

Teil 1: Batch
prtest.bat

@echo off
setlocal
if !%1 EQU ! goto usage
if !%2 EQU ! goto usage
if !%3 NEQ ! goto usage
set if=%~1
set tp=%~2

for /f „tokens=1,* skip=1“ %%i in ( %if% ) do call :testprt „%%i“ „%%j“
goto scrend

:testprt
ping %~1 -n 1 >nul 2>&1
if %errorlevel%==0 (
lpr -S %~1 -P lp %tp%
) else (
echo Drucker „%~2“ ist nicht erreichbar.
)
exit /b 0

:usage
echo Aufruf: %0 ^ ^

:scrend
endlocal
------------------------------- Teil 2: Eine Beispieldatei für Druckerinformationen

printer.txt
-------------------------------
# IP / Druckerbezeichnung
192.168.0.3 drucker 1: Raum XYZ
-------------------------------

Gruß
Volkmar