É possível enviar um arquivo para uma impressora com um arquivo em lote?
Como posso usar um ficheiro em lote para enviar um ficheiro de texto ou um .doc ou similar, a uma impressora ligada ao computador através de uma porta USB?
2 answers
Também para obter o nome da impressora:
wmic printer get name /value | findstr Name
Irá listar todas as impressoras como:
Name=PDF
Name=Microsoft XPS Document Writer
Name=Fax
E se conhece parte do nome, pode incluí-lo numa variável dinamicamente com FOR
.
@echo off
for /f "tokens=2 delims==" %%a in (
'wmic printer get name /value ^| findstr PartOfThePrinterName'
) do (
set "printer_name=%%a"
)
REM Also you can remove the FOR command if you want to set the variable as static.
REM ie. "set printer_name=MyPrinterName"
print filename.txt /D:"%printer_name%"
exit /b 0
Anote as aspas duplas e nenhum espaço em branco após {[[5]} para ter a certeza que consegue a impressora certa.
Outro método é definir a impressora predefinida e imprimir o documento através do bloco de notas.
RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "%printer_name%"
start /min notepad /P filename.txt
Pode usar o comando PRINT
como em baixo para imprimir ASCII files
. Use print /?
na linha de comandos para saber mais sobre o comando. Aqui, /D
é o nome do dispositivo de switch fr, uma vez que por omissão é LPT1.
PRINT filename.txt /D:<printer_name>
Veja Também este ArtigoPara mais informações sobre a impressão de PDF, etc.