打印机控制命令行

在CMD中输入rundll32 printui.dll,PrintUIEntry 即可得到如下用法和示例:

Usage: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
   /a[file] binary file name
   /b[name] base printer name
   /c[name] unc machine name if the action is on a remote machine
   /dl delete local printer
   /dn delete network printer connection
   /dd delete printer driver
   /e display printing preferences
   /f[file] either inf file or output file
   /F[file] location of an INF file that the INF file specified with /f may depend on
   /ga add per machine printer connections (the connection will be propagated to the user upon logon)
   /ge enum per machine printer connections
   /gd delete per machine printer connections (the connection will be deleted upon user logon)
   /h[arch] driver architecture one of the following, x86 or x64 or Itanium 
   /ia install printer driver using inf file
   /id install printer driver using add printer driver wizard
   /if install printer using inf file
   /ii install printer using add printer wizard with an inf file
   /il install printer using add printer wizard
   /in add network printer connection
   /ip install printer using network printer installation wizard
   /j[provider] print provider name
   /k print test page to specified printer, cannot be combined with command when installing a printer
   /l[path] printer driver source path
   /m[model] printer driver model name
   /n[name] printer name
   /o display printer queue view
   /p display printer properties
   /q quiet mode, do not display error messages
   /r[port] port name
   /s display server properties
   /Ss Store printer settings into a file
   /Sr Restore printer settings from a file
   Store or restore printer settings option flags that must be placed at the end of command:
	2	PRINTER_INFO_2
	7	PRINTER_INFO_7
	c	Color Profile
	d	PrinterData
	s	Security descriptor
	g	Global DevMode
	m	Minimal settings
	u	User DevMode
	r	Resolve name conflicts
	f	Force name
	p	Resolve port
	i	Driver name conflict
   /u use the existing printer driver if it's already installed
   /t[#] zero based index page to start on
   /v[version] driver version one of the following, "Type 2 - Kernel Mode" or "Type 3 - User Mode"
   /w prompt the user for a driver if specified driver is not found in the inf
   /y set printer as the default
   /Xg get printer settings
   /Xs set printer settings
   /z do not auto share this printer
   /Y do not auto generate a printer name
   /K changes the meaning of /h to accept 2,3,4 for x86 or x64 or Itanium and /v to accept 3 for "Type 3 - User Mode"
   /Z share this printer, can only be used with the /if option
   /? help this message
   @[file] command line argument file
   /Mw[message] show a warning message before committing the command
   /Mq[message] show a confirmation message before committing the command
   /W[flags] specifies flags and switches for the wizards (for APW & APDW)
	r	make the wizards to be restart-able from the last page
   /G[flags] specifies global flags and switches
	w	suppress setup driver warnings UI (super quiet mode)

Examples:
   Run server properties: 
rundll32 printui.dll,PrintUIEntry /s /t1 /c\\machine
   Run printer properties: 
rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer
   Run add printer wizard locally: 
rundll32 printui.dll,PrintUIEntry /il 
   Run add printer wizard on \\machine: 
rundll32 printui.dll,PrintUIEntry /il /c\\machine
   Run queue view: 
rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer
   Run inf install: 
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\infpath\infFile.inf /r "lpt1:" /m "Brother DCP-128C"
   Run inf install (with inf dependency). In the example, prnbr002.inf depends on ntprint.inf
rundll32 printui.dll, PrintUIEntry /ia /m "Brother DCP-128C" /K /h x64 /v 3 /f "c:\infpath\prnbr002.inf" /F "c:\infpath\ntprint.inf"
   Run add printer wizard using inf: 
rundll32 printui.dll,PrintUIEntry /ii /f c:\infpath\infFile.inf
   Add printer using inbox printer driver: 
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C"
   Add per machine printer connection (the connection will be propagated to the user upon logon): 
rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services"
   Delete per machine printer connection (the connection will be deleted upon user logon): 
rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer
   Enumerate per machine printer connections: 
rundll32 printui.dll,PrintUIEntry /ge /c\\machine
   Add printer driver using inf: 
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:\infpath\infFile.inf
   Add printer driver using inf: 
rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3
   Add inbox printer driver: 
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode"
   Remove printer driver: 
rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode"
   Remove printer driver: 
rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3
   Set printer as default: 
rundll32 printui.dll,PrintUIEntry /y /n "printer"
   Set printer comment: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"
   Get printer settings: 
rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
   Get printer settings saving results in a file: 
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
   Set printer settings command usage:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
   Store all printer settings into a file: 
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
   Restore all printer settings from a file: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat"
   Store printer information on level 2 into a file : 
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
   Restore  from a file printer security descriptor: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
   Restore  from a file printer global devmode and printer data: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
   Restore  from a file minimum settings and resolve port name: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p
   Enable Client Side Rendering for a printer: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender enabled
   Disable Client Side Rendering for a printer: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender disabled

打印机驱动的升级,也可由此出发。

用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile] /a[file] 二进制文件名 /b[name] 基本打印机名 /c[name] 如果操作在远程机器上,unc 机器名 /dl 删除本地打印机 /dn 删除网络打印机连接 /dd 删除打印机驱动程序 /e 显示打印首选项 /f[file] inf 文件或输出文件 /ga 添加每个机器打印机连接 /ge 枚举每个机器打印机连接 /gd 删除每个机器打印机连接 /h[arch] 下列驱动程序体系结构之一,Alpha | Intel | IA64 | x64 /ia 用 inf 文件安装打印机驱动程序 /id 用添加打印机驱动程序向导安装打印机驱动程序 /if 用 inf 文件安装打印机 /ii 用带 inf 文件的添加打印机向导安装打印机 /il 用添加打印机向导安装打印机 /in 添加网络打印机连接 /j[provider] 打印提供程序名称 /k 将测试页打印到指定的打印机,不能安装打印机时的命令组合 /l[path] 打印机驱动程序源路径 /m[model] 打印机驱动程序型号名 /n[name] 打印机名 /o 显示打印机队列查看 /p 显示打印机属性 /q 安静模式,不显示错误信息 /r[port] 端口名 /s 显示服务器属性 /Ss 将打印机设置存到一个文件 /Sr 从一个文件还原打印机设置 储存或还原必须放在命令结尾的打印机设置选项标志: 2 PRINTER_INFO_2 7 PRINTER_INFO_7 c 颜色配置文件 d 打印机数据 s 安全描述符 g 全局 DevMode m 最低设置 u 用户 DevMode r 解决名称冲突 f 强制使用名称 p 解析端口 /u 如果已安装,则使用现有的打印机驱动程序 /t[#] 起始的以零为基础的索引页 /v[version] 驱动程序版本属于下列中的一个: Windows 95、98 和 ME | Windows NT 4.0 | Windows NT 4.0 或 2000 | Windows 2000 或 XP| Windows XP /w 如果指定的驱动程序不在 inf 中,则提示用户 /y 将打印机设为默认打印机 /Xg 获得打印机设置 /Xs 设定打印机设置 /z 不要自动共享这台打印机 /Z 不要自动生成打印机名 /K 更改 /v 和 /h 的意义来将 Windows x64 和 Windows IA64 | Windows NT x86 | Windows NT Alpha_AXP | Windows 4.0 分别接受为 0、1、2、3 /Z 共享这台打印机,只能跟 /if 选项一起使用 /? 帮助信息 @[file] 命令行参数文件 /Mw[message] 确认命令之前显示警告消息 /Mq[message] 确认命令之前显示确认消息 /W[flags] 指定向导(APW 和 APDW)的标志和切换 r 使向导可以从上一页重新启动 /G[flags] 指定全局标志和切换 w 抑制安装程序驱动程序警告 UI (超级静声模式) 例如: 运行服务器属性: rundll32 printui .dll ,PrintUIEntry /s /t1 /n\\machine 运行打印机属性: rundll32 printui .dll ,PrintUIEntry /p /n\\machine\printer 在本地运行添加打印机向导: rundll32 printui .dll ,PrintUIEntry /il 在 \\machine: rundll32 printui .dll ,PrintUIEntry /il /c\\Machine 运行添加打印机向导 运行队列查看: rundll32 printui .dll ,PrintUIEntry /o /n\\machine\printer 运行 inf 安装: rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3" 使用 inf 运行添加打印机向导: rundll32printui.dll,PrintUIEntry/ii/%windir%\inf\ntprint.in 添加每个机器打印机连接: rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services" 删除每个机器打印机连接: rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer 枚举每个机器打印机连接: rundll32 printui.dll,PrintUIEntry /ge /c\\machine 用 inf 添加打印机驱动程序: rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000 或 XP" /f %windir%\inf\ntprint.inf 用 inf 添加打印机驱动程序: rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3 删除打印机驱动程序: rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000 或 XP" 删除打印机驱动程序: rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3 将打印机设为默认打印机: rundll32 printui.dll,PrintUIEntry /y /n "printer" 设置打印机注解: rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer" 取得打印机设置: rundll32 printui.dll,PrintUIEntry /Xg /n "printer" 取得文件中的打印机设置保存结果: rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer" 设置打印机设置命令使用: rundll32printui.dll,PrintUIEntry/Xs/n"printer"? 将所有打印机设置存入一个文件: rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 从一个文件还原所有打印机设置: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" 将二级打印机信息存入一个文件: rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2 从一个文件还原打印机安全描述符: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s 从一个文件还原打印机全局 devmode 和打印机数据: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d 从文件最少设置还原并分析端口名: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p
Python 控制打印机通常涉及到几个步骤: ### 1. 安装必要的驱动程序 首先需要确保计算机上安装了打印机对应的驱动程序。如果你正在处理一个未知的打印机或者想在虚拟环境中测试,可以考虑使用像 `lp` 或者 `lpr` 这样的命令行工具。 ### 2. 使用 `subprocess` 模块执行打印机命令 Python 提供了 `subprocess` 模块,用于在后台执行操作系统命令。以下是一个简单的示例,如何打印文本文件到打印机: ```python import subprocess # 确保你的打印机是可用的,并且已经连接到你的系统。 file_path = '/path/to/your/document.txt' printer_name = 'YourPrinterName' command = f'lpr -o PageSize=A4 {file_path} -P {printer_name}' subprocess.run(command, shell=True) ``` 在这个例子中,我们假设你已经在命令行中配置好了打印机名称,并且使用的是 `lpr` 命令。你需要将 `YourPrinterName` 替换为你实际使用的打印机名称,同样也要修改文件路径 `file_path` 到你要打印的文档所在位置。 ### 3. 通过网络发送打印任务 对于网络打印机或更复杂的设置(比如需要认证或者有特定的打印队列),你可能需要使用更高级的语言特性或者第三方库来进行交互。例如,你可以使用 `socket` 库直接向打印机发送数据流,但这会比使用标准命令复杂得多。 ### 相关问题: 1. 是否所有类型的打印机都可以通过Python进行控制? - 并非所有的打印机都能通过Python进行完全的控制,这取决于其是否支持命令行界面以及是否提供API给开发者使用。 2. 如何处理打印机错误和异常情况? - 可以通过捕获 `subprocess.CalledProcessError` 来处理命令执行失败的情况,并添加日志记录或错误处理机制,例如检查打印机状态、重启打印服务等。 3. Python 中有哪些库可以帮助更方便地控制打印机? - 对于Windows环境,可以使用 `win32print` 库;对于Linux环境,`pyppeteer` (虽然主要用于网页渲染,但其底层使用了浏览器的渲染引擎,间接可以用于一些图形操作)并不是直接针对打印机的,但可以作为启发思考的一个方向。专门针对打印机管理的库比较少,大多数情况下还是依赖于基础的命令行工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值