07alex07
Goto Top

Per Batch Drucker bestimmen

Hallo zusammen,

wie kann ich per Batch sagen, das die Dateien auf einem bestimmten Drucker rauskommen sollen ohne den Standarddrucker zu verändern.

Danke & Gruß

Alex

Content-ID: 188962

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

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

Sheogorath
Sheogorath 01.08.2012 um 15:38:08 Uhr
Goto Top
Halloechen,

nur so eine Frage: was fuer eine Art von Dateien willst du denn Drucken und uber welchen Befehel?

Wenn du txtdateien Drucken moechtest, so kannst du dies ueber

print /d:DruckerXY "C:\xyz\pri9nt.txt"  


Wenn du aus office Drucken moechtest, wuesste ich gerne, welche parameter du benutzt, wuede dort naemlich auch gerne nochmal einen Script schreiben.

Gruss
Chris
07alex07
07alex07 01.08.2012 um 15:49:42 Uhr
Goto Top
Ich erstelle ein PDF aus unserem ERP-System und muss es auch automatisch ausdrucken lassen.
Sheogorath
Sheogorath 01.08.2012 um 16:28:42 Uhr
Goto Top
Halloechen,

ich denke, da hab ich etwas fuer dich:
http://blog.sven-borkenhagen.info/?p=375

wenn du vorher folgendes setzt:
SEt drucker=drucker1

reg export "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows" standartdrucker.reg  
cscript "C:\Windows\System32\Printing_Admin_Scripts\de-DE\prnmngr.vbs" -t -p "%drucker%"  

und anschliessend
reg import standartdrucker.reg

sollte es gehen.

Kleines Manko: Der Standartdrucker wird bis zur Neuanmeldung umgestellt. besser waere es vielleicht aus der .reg datei den Drucker auszulesen, aber diesen syntax wollte ich mir nun ersparen ;)

Gruss
Chris
07alex07
07alex07 02.08.2012 um 10:12:41 Uhr
Goto Top
Hallo Chris,

das will ich ja verhindern, das man ständig den Standarddrucker ändern muss.
07alex07
07alex07 02.08.2012 um 11:21:01 Uhr
Goto Top
Hab jetzt die Datei pdfp.exe gefunden mit der man per Batch die PDFs drucken kann.

Folgende Zeile habe ich in die Batch eingefragen.

pdfp -p "\\server\drucker" datei.pdf

er ruft jetzt Adobe Reader auf aber drucken will er nicht.
Kennt jemand die pdfp.exe?
pieh-ejdsch
pieh-ejdsch 02.08.2012, aktualisiert am 06.08.2012 um 15:50:06 Uhr
Goto Top
moin,

gefunden habe ich das hier: Word Document durch Batch drucken als VBS-Variante.

Wenn Du jetzt den Freigegebenen Drucker zum Direktdruck nutzt, warum dann nicht gleich über Adobe Reader?

@echo off
setlocal
 rem Reader Angeben
for %%i in ("\Adobe\Reader 10.0\Reader\AcroRd32.exe") do if defined ProgramFiles(x86) (set "Adobe=%ProgramFiles(x86)%%%~i"  
  ) else set "Adobe=%ProgramFiles%%%~i"  

 rem Standartdrucker für diesen Batch angeben
set "SDrucker=EPSON Stylus DX3800 Series"  
set /a wartezumDrucker    = 10
set /a wartezumPDFDrucker = 15

 rem Druckerliste erzeugen
for /f "delims==" %%i in ('set Drucker 2^>nul') do set "%%i="   
set "n=0"  
for /f "tokens=1-3delims=:," %%i in (' "wmic printer get name,status" /Format:csv ^|more +2^|findstr /n .') do set /a n=%%i&set "Drucker%%i=%%k"  

if "%~1" equ "/?" echo Druckt PDF auf den Angegebenen Drucker.^  
 &echo Syntax: %~n0 [/D:Druckername] Datei [...]             [/?]^
 &echo(&echo   /D:Druckername    Angabe des unten Aufgelisteten Druckernamens^
       &echo                      oder der jeweiligen Aufgefuehrten Nummer.^
 &echo     Batch StandartDrucker zurzeit: "%SDrucker%"^  
 &(
   set Drucker|findstr /leic:"=%SDrucker%" >nul || echo    Hinweis: StandartDrucker im Batch falsch angegeben!  
 )&echo(&echo     folgende Nummern sind den Druckern zurzeit Zugewiesen:&echo(^
 &((for /l %%i in (1 1 %n%) do @call echo   %%i	"%%Drucker%%i%%")|find /v ""||echo ... keine Drucker gefunden.)^  
 &exit /b 0

 rem Adobe in Path eintragen
for %%i in ("%Adobe%") do set "Aexe=%%~nxi" &(echo ;%path:;=;&echo(;%;)|find ";%%~dpi;" >nul ||set "path=%path%;%%~dpi"  
 rem pruefe ob Adobe gefunden 
for %%i in ("%Aexe%") do if "%%~$path:i" equ "" >&2 echo Falsche Angabe des Adobe Pfad!&exit /b 4  

set "Check=1"  
:Parameter
for /f "tokens=1* delims=:" %%i in ("%~1") do if /i "%%~i" equ "/D" shift &(  
  set "Check="  
  set Drucker |findstr /eilc:"=%%~j" >nul &&(set "SDrucker=%%~j" &set "Check=1")  
  if %%j gtr 0 if %%j leq %n% set "Check=1" &call set "SDrucker=%%Drucker%%j%%"  
  if not defined check echo Drucker "%%~j" nicht gefunden. &exit /b 2  
  goto :Parameter
)

if not exist "%~dpn1.pdf" echo Datei nicht gefunden. Bitte PDF angeben. 1>&2 &exit /b 1  
set Drucker|findstr /elic:"=%SDrucker%" >nul || >&2 echo StandartDrucker im Batch falsch angegeben! &&exit /b 3  

 rem Drucke Datei
 rem warum überhaupt eine pdf als PDF drucken (wartezumPDFDrucker)
echo "%SDrucker%"|find "PDF" >nul &&set "Warte=%wartezumPDFDrucker%" ||set "Warte=%wartezumDrucker%"  
start "" /min cmd /c"%Aexe% /t /s /h "%~1" "%SDrucker%" "  
ping localhost -n %Warte% 1>nul

 rem Schliesse Adobe
taskkill /F /fi "windowtitle eq %~nx1 - Adobe Reader"|find "ERFOLGREICH" >nul || taskkill /f /im AcroRD32.exe >nul  

if "%~2" neq "" shift & goto :Parameter  

Gruß Phil
07alex07
07alex07 06.08.2012 um 10:44:54 Uhr
Goto Top
Hab es hinbekommen.

Hatte Adobe Reader und Adobe Acrobat auf dem Rechner und da ist das ding durcheinander gekommen.