Script de lote - impressão
A impressão também pode ser controlada a partir do Batch Script por meio do comando NET PRINT.
Sintaxe
PRINT [/D:device] [[drive:][path]filename[...]]
Onde / D: dispositivo - especifica um dispositivo de impressão.
Exemplo
print c:\example.txt /c /d:lpt1
O comando acima imprimirá o arquivo example.txt na porta paralela lpt1.
Controle de impressora de linha de comando
A partir do Windows 2000, muitas, mas não todas, as configurações da impressora podem ser definidas na linha de comando do Windows usando PRINTUI.DLL e RUNDLL32.EXE
Sintaxe
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]
Onde algumas das opções disponíveis são as seguintes -
/dl - Exclua a impressora local.
/dn - Exclua a conexão da impressora de rede.
/dd - Exclua o driver da impressora.
/e - Exibir preferências de impressão.
/f[file] - Arquivo inf ou arquivo de saída.
/F[file] - Localização de um arquivo INF do qual o arquivo INF especificado com / f pode depender.
/ia - Instale o driver da impressora usando o arquivo inf.
/id - Instale o driver de impressora usando o assistente para adicionar driver de impressora.
/if - Instale a impressora usando o arquivo inf.
/ii - Instale a impressora usando o assistente para adicionar impressora com um arquivo inf.
/il - Instale a impressora usando o assistente para adicionar impressora.
/in - Adicionar conexão de impressora de rede.
/ip - Instale a impressora usando o assistente de instalação de impressora de rede.
/k - Imprimir página de teste na impressora especificada, não pode ser combinada com o comando ao instalar uma impressora.
/l[path] - Caminho de origem do driver da impressora.
/m[model] - Nome do modelo do driver da impressora.
/n[name] - Nome da impressora.
/o - Exibir visualização da fila da impressora.
/p - Exibir propriedades da impressora.
/Ss - Armazene as configurações da impressora em um arquivo.
/Sr - Restaure as configurações da impressora a partir de um arquivo.
/y - Defina a impressora como padrão.
/Xg - Obtenha as configurações da impressora.
/Xs - Defina as configurações da impressora.
Testando se existe uma impressora
Pode haver casos em que você pode estar conectado a uma impressora de rede em vez de uma impressora local. Nesses casos, é sempre bom verificar se existe uma impressora antes de imprimir.
A existência de uma impressora pode ser avaliada com a ajuda do RUNDLL32.EXE PRINTUI.DLL, que é usado para controlar a maioria das configurações da impressora.
Exemplo
SET PrinterName = Test Printer
SET file=%TEMP%\Prt.txt
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "%PrinterName%" /f "%file%" /q
IF EXIST "%file%" (
ECHO %PrinterName% printer exists
) ELSE (
ECHO %PrinterName% printer does NOT exists
)
O comando acima fará o seguinte -
Ele definirá primeiro o nome da impressora e um nome de arquivo que conterá as configurações da impressora.
Os comandos RUNDLL32.EXE PRINTUI.DLL serão usados para verificar se a impressora realmente existe, enviando as definições de configuração do arquivo para o arquivo Prt.txt