Script por lotes: impresión
La impresión también se puede controlar desde Batch Script mediante el comando NET PRINT.
Sintaxis
PRINT [/D:device] [[drive:][path]filename[...]]
Donde / D: dispositivo: especifica un dispositivo de impresión.
Ejemplo
print c:\example.txt /c /d:lpt1
El comando anterior imprimirá el archivo example.txt en el puerto paralelo lpt1.
Control de impresora por línea de comandos
A partir de Windows 2000, muchas opciones de la impresora, pero no todas, se pueden configurar desde la línea de comandos de Windows mediante PRINTUI.DLL y RUNDLL32.EXE
Sintaxis
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]
Donde algunas de las opciones disponibles son las siguientes:
/dl - Eliminar impresora local.
/dn - Eliminar la conexión de la impresora de red.
/dd - Eliminar el controlador de la impresora.
/e - Mostrar preferencias de impresión.
/f[file] - Archivo inf o archivo de salida.
/F[file] - Ubicación de un archivo INF de la que puede depender el archivo INF especificado con / f.
/ia - Instale el controlador de la impresora mediante el archivo inf.
/id - Instale el controlador de impresora usando el asistente para agregar controlador de impresora.
/if - Instale la impresora usando el archivo inf.
/ii - Instale la impresora usando el asistente para agregar impresoras con un archivo inf.
/il - Instale la impresora usando el asistente para agregar impresoras.
/in - Agregar conexión de impresora de red.
/ip - Instale la impresora mediante el asistente de instalación de impresoras de red.
/k - Imprimir página de prueba en la impresora especificada, no se puede combinar con el comando al instalar una impresora.
/l[path] - Ruta de origen del controlador de impresora.
/m[model] - Nombre del modelo del controlador de la impresora.
/n[name] - Nombre de la impresora.
/o - Mostrar vista de cola de impresora.
/p - Mostrar propiedades de la impresora.
/Ss - Almacene la configuración de la impresora en un archivo.
/Sr - Restaurar la configuración de la impresora desde un archivo.
/y - Establecer impresora como predeterminada.
/Xg - Obtenga la configuración de la impresora.
/Xs - Establecer la configuración de la impresora.
Prueba de si existe una impresora
Puede haber casos en los que esté conectado a una impresora de red en lugar de a una impresora local. En tales casos, siempre es beneficioso comprobar si existe una impresora en primer lugar antes de imprimir.
La existencia de una impresora se puede evaluar con la ayuda de RUNDLL32.EXE PRINTUI.DLL que se utiliza para controlar la mayoría de las configuraciones de la impresora.
Ejemplo
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
)
El comando anterior hará lo siguiente:
Primero establecerá el nombre de la impresora y establecerá un nombre de archivo que contendrá la configuración de la impresora.
Los comandos RUNDLL32.EXE PRINTUI.DLL se utilizarán para comprobar si la impresora existe realmente enviando los ajustes de configuración del archivo al archivo Prt.txt