Batch-Datei zum halbautomatisierten Drucken!
Hallo liebe IT-Gemeinde... ich glaube das Thema "Batch" wurde hier schon oft behandelt, aber da ich nichts passendes gefunden hab und im Moment irgendwie grade total auf dem Schlauch stehe brauch ich mal eure Hilfe!
Folgendes: ....
ich brauche eine Batchdatei:
diese soll am Anfang fragen...
"Welche Datei möchten Sie drucken?"
der Benutzer soll nun eingeben: dateiname + endung (endungen können *.dru, *.brl oder *.prt sein) und bestätigen
Danach soll die Batchdatei fragen in welcher Anzahl diese Datei gedruckt werden soll?
hier soll der Benutzer einfach eine Zahl eingeben und bestätigen!
nun soll der Benutzer noch angeben ob der Auftrag an Drucker 1 (LPT1) oder Drucker 2 (LPT 2) geschickt werden soll!
am Besten wäre jetzt eine Auswahl
(1) Drucker 1
(2) Drucker 2
.. der Benutzer drückt nun einfach 1 oder 2 und der PC sendet die Datei mit einem COPY Befehl in gewünschter Anzahl an den Drucker! Wichtig ist halt, dass man copy und nicht print sagt, da es spezielle Dateien sind, wie ihr an der Endung merkt!
Zum Schluss sollte die Batchdatei noch fragen:
"sind noch weitere Dokumente zu drucken?"
bei JA (J) fängt die Datei von vorne an.. bei NEIN (N) wird sie beendet..
ich hab zwar ne ungefähre Vorstellung der Batchdatei nur irgendwie steh ich im Moment komplett auf dem Schlauch und vielleicht sind unter euch ja ein paar Batch-Experten die mir bei dieser Sache helfen können! Ich denke nicht, dass die Batch all zu umfangreich ist, nur wie gesagt fällt mir im Moment einfach nichts ein
Vielen Dank schon mal!
Liebe Grüße und ein schönes Wochenende,
Euer IT-Muscle!
EDIT: Achso noch wichtig,.. die zu druckenden Dateien liegen in einem Netzlaufwerk im Ordner DATEN, DATEN1, DATEN2 und eventuell noch in Unterordnern!.. natürlich sollte die Batchdatei prüfen, ob die Datei aufzufinden ist!.. oder eben sich die Datei aus den Ordnern raussuchen!.. vielen Dank
Folgendes: ....
ich brauche eine Batchdatei:
diese soll am Anfang fragen...
"Welche Datei möchten Sie drucken?"
der Benutzer soll nun eingeben: dateiname + endung (endungen können *.dru, *.brl oder *.prt sein) und bestätigen
Danach soll die Batchdatei fragen in welcher Anzahl diese Datei gedruckt werden soll?
hier soll der Benutzer einfach eine Zahl eingeben und bestätigen!
nun soll der Benutzer noch angeben ob der Auftrag an Drucker 1 (LPT1) oder Drucker 2 (LPT 2) geschickt werden soll!
am Besten wäre jetzt eine Auswahl
(1) Drucker 1
(2) Drucker 2
.. der Benutzer drückt nun einfach 1 oder 2 und der PC sendet die Datei mit einem COPY Befehl in gewünschter Anzahl an den Drucker! Wichtig ist halt, dass man copy und nicht print sagt, da es spezielle Dateien sind, wie ihr an der Endung merkt!
Zum Schluss sollte die Batchdatei noch fragen:
"sind noch weitere Dokumente zu drucken?"
bei JA (J) fängt die Datei von vorne an.. bei NEIN (N) wird sie beendet..
ich hab zwar ne ungefähre Vorstellung der Batchdatei nur irgendwie steh ich im Moment komplett auf dem Schlauch und vielleicht sind unter euch ja ein paar Batch-Experten die mir bei dieser Sache helfen können! Ich denke nicht, dass die Batch all zu umfangreich ist, nur wie gesagt fällt mir im Moment einfach nichts ein
Vielen Dank schon mal!
Liebe Grüße und ein schönes Wochenende,
Euer IT-Muscle!
EDIT: Achso noch wichtig,.. die zu druckenden Dateien liegen in einem Netzlaufwerk im Ordner DATEN, DATEN1, DATEN2 und eventuell noch in Unterordnern!.. natürlich sollte die Batchdatei prüfen, ob die Datei aufzufinden ist!.. oder eben sich die Datei aus den Ordnern raussuchen!.. vielen Dank
Please also mark the comments that contributed to the solution of the article
Content-ID: 127285
Url: https://administrator.de/contentid/127285
Printed on: December 5, 2024 at 22:12 o'clock
14 Comments
Latest comment
Hallo IT-Muscle!
Ist zwar nur eher oberflächlich getestet, sollte aber etwa so gehen:
Grüße
bastla
Ist zwar nur eher oberflächlich getestet, sollte aber etwa so gehen:
@echo off & setlocal
cd /d D:\
cls
:START
echo Programm ist bereit!
echo.
pause
cls
:MENU
echo ----------------------------------------------------------------------
echo XXXXXXXXXXXX 1.0 - By xXxxxxxxx
echo ----------------------------------------------------------------------
echo.
echo Bitte geben Sie den zu druckenden Dateinamen samt
echo Dateiendungen mit Hilfe der Tastatur ein!
echo Darauf achten, dass der PS-Drucker eingeschaltet ist!
echo (*.dru, *.brl, *. prt koennen gedruckt werden!)
echo.
echo Was moechten Sie tun?
echo.
echo 1. *.brl, *.dru oder *.prt drucken
echo.
echo 2. Programm verlassen
echo.
set /p choice=Bitte auswaehlen:
if "%choice%"=="1" goto :DATEI
if "%choice%"=="2" goto :eof
goto :eof
:DATEI
set /p druck=Datei:
IF NOT EXIST "%druck%" goto :ERROR
:ANZAHL
echo Bitte geben Sie nun die Anzahl ein!
set anzahl=1
::Falls keine Eingabe erfolgt, wird nur ein Ausdruck vorgenommen
set /p anzahl=Anzahl:
set /a Check=0+Anzahl
if "%Check%"=="0" goto :ANZAHL
echo\
echo Es werden %anzahl% Ausdrucke erfolgen.
echo\
:DRUCKER
echo Bitte entscheiden Sie, ob Sie an Thiel1 oder Thiel2 drucken
echo (1) Thiel Beta X3 (Thi1)
echo (2) Thiel Beta X3 (Thi2)
echo.
set /p auswahl=Bitte Drucker auswaehlen:
if "%auswahl%"=="1" goto :Thi1
if "%auswahl%"=="2" goto :Thi2
echo\
goto :DRUCKER
:Thi1
for /L %%d IN (1,1,%anzahl%) DO copy "%druck%" lpt1>nul
echo Befehl erfolgreich ausgefuehrt.
echo.
goto :MENU
:Thi2
for /L %%d IN (1,1,%anzahl%) DO copy "%druck%" lpt2>nul
echo Befehl erfolgreich ausgefuehrt.
echo.
goto :MENU
:ERROR
echo Befehl kann leider nicht ausgefuehrt werden,
echo da Datei nicht gefunden werden kann oder
echo falsch geschrieben wurde!
echo.
echo Bitte achten Sie auf Dateiname und Dateiendung!
echo.
goto :DATEI
bastla
Hallo IT-Muscle!
Sofern es von jeder Datei nur ein Exemplar gibt, kannst Du das für einen Ordner etwa so versuchen:
Wenn es um die Unterordner von 3 verschiedenen Ordnern geht, dann noch eine weitere Schleife:
Beiden Varianten sind als Ersatz der Zeilen 43 und 44 gedacht.
Grüße
bastla
Sofern es von jeder Datei nur ein Exemplar gibt, kannst Du das für einen Ordner etwa so versuchen:
set "Druckdatei="
for /f "delims=" %%f in ('dir /s /b "G:\%druck%"') do set "Druckdatei=%%f"
if not defined Druckdatei goto :Error
set "druck=%Druckdatei%"
set "Druckdatei="
for %%i in ("G:\Ordner1" "G:\Ordner2" "G:\Ordner3") do if not defined Druckdatei for /f "delims=" %%f in ('dir /s /b "%%~i"') do set "Druckdatei=%%f"
if not defined Druckdatei goto :Error
set "druck=%Druckdatei%"
Grüße
bastla
Hallo ITMuscle!
Die Endlosschleife resultiert aus Deiner "Fehlerkorrektur" (durch die Verwendung der Anführungszeichen werden die Zahlenwerte als Text interpretiert).
Weshalb der Drucker "nicht bereit" ist, musst Du allerdings selbst herausfinden ...
Grüße
bastla
P.S.: Irgendwie kann ich mir nicht vorstellen, dass mit
eine Datei in einem Unterordner gefunden wird ...
Die Endlosschleife resultiert aus Deiner "Fehlerkorrektur" (durch die Verwendung der Anführungszeichen werden die Zahlenwerte als Text interpretiert).
Weshalb der Drucker "nicht bereit" ist, musst Du allerdings selbst herausfinden ...
Grüße
bastla
P.S.: Irgendwie kann ich mir nicht vorstellen, dass mit
for %%f In (G:\"%druck%" G:\"%druck%")
Hallo ITMuscle!
Nur ganz kurz: Wie ein "
"Überhaupt nichts" macht die Schleife dann, wenn %anzahl% einen Wert <1, einen Text oder gar nix enthält - dazu einfach einmal das "
Grüße
bastla
Nur ganz kurz: Wie ein "
for /l
" zu schreiben ist, kannst Du mit "for /?
" in der Online-Hilfe nachlesen."Überhaupt nichts" macht die Schleife dann, wenn %anzahl% einen Wert <1, einen Text oder gar nix enthält - dazu einfach einmal das "
echo off
" in ein "echo on
" ändern und den Batch von der Kommandozeile starten - so siehst Du, wie die jeweiligen Befehle zum Zeitpunkt der Ausführung aussehen.Grüße
bastla