在windows中追加/删除虚拟打印机实例教程

由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数。

  使用 rundll32 printui.dll,PrintUIEntry,在CMD中运行,在弹出框中得到以下提示。  

用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]

/a[file] 二进制文件名
  /b[name] 基本打印机名
  /c[name] 如果操作在远程机器上,unc 机器名
  /dl 删除本地打印机
  /dn 删除网络打印机连接
  /dd 删除打印机驱动程序
  /e 显示打印首选项
  /f[file] inf 文件或输出文件
  使用 /f 指定的 INF 文件可能依赖的 INF 文件的 /F[file] 位置
  /ga 添加每个机器打印机连接(用户登录时此连接将传播到用户)
  /ge 枚举每个机器打印机连接
  /gd 删除每个机器打印机连接(用户登录时此连接将被删除)
  /h[arch] 驱动程序体系结构,为下列之一: x86 或 x64 或 Itanium
  /ia 用 INF 文件安装打印机驱动程序
  /id 用添加打印机驱动程序向导安装打印机驱动程序
  /if 用 INF 文件安装打印机
  /ii 用带 INF 文件的添加打印机向导安装打印机
  /il 用添加打印机向导安装打印机
  /in 添加网络打印机连接
  /ip 使用网络打印机安装向导安装打印机
  /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  解析端口
  i  驱动程序名称冲突
  /u 如果已安装,则使用现有的打印机驱动程序
  /t[#] 起始的以零为基础的索引页
  /v[version] 驱动程序版本,为下列之一:“类型 2 - 内核模式”或“类型 3 - 用户模式”
  /w 如果在 INF 中找不到指定的驱动程序,则提示用户
  /y 将打印机设置为默认打印机
  /Xg 获得打印机设置
  /Xs 设定打印机设置
  /z 不要自动共享这台打印机
  /Z 不要自动生成打印机名
  /K 更改 /h 的含义,使 x86 或 x64 或 Itanium 接受 2、3、4,并更改 /v 的含义,使“类型 3 - 用户模式”接受 3
  /Z 共享这台打印机,只能跟 /if 选项一起使用
  /? 帮助信息
  @[file] 命令行参数文件
  /Mw[message] 确认命令之前显示警告消息
  /Mq[message] 确认命令之前显示确认消息
  /W[flags] 指定向导(APW 和 APDW)的标志和切换
  r  使向导可以从上一页重新启动
  /G[flags] 指定全局标志和切换
  w  抑制安装程序驱动程序警告 UI (超级静声模式)

例如:

运行服务器属性:

rundll32 printui.dll,PrintUIEntry /s /t1 /c\\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 c:\infpath\infFile.inf /r "lpt1:" /m "Brother DCP-128C"
  运行 INF 安装(具有 INF 依赖关系)。在此示例中,prnbr002.inf 依赖于 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"
  使用 INF 运行添加打印机向导:
rundll32 printui.dll,PrintUIEntry /ii /f c:\infpath\infFile.inf
  使用内置打印机驱动程序添加打印机:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C"
  添加每个机器打印机连接(用户登录时此连接将传播到用户):
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 "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:\infpath\infFile.inf
  使用 INF 添加打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3
  添加内置打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode"
  删除打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode"
  删除打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "Brother DCP-128C" /h "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"
  设置打印机设置命令使用:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
  将所有打印机设置存入一个文件:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
  从一个文件还原所有打印机设置:
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
  启用打印机的客户端呈现:
rundll32 printui.dll,PrintUIEntry /Xs /n"printer" ClientSideRender enabled
  禁用打印机的客户端呈现:
rundll32 printui.dll,PrintUIEntry /Xs /n"printer" ClientSideRender disabled

  添加打印机步骤,首先在控制面板的打印机页面中确认本地端口是否存在。能够正常打印的虚拟端口为(NUL:),如果不存在,需要手动创建。

@echo off
REM 添加5台名称为 TestPrt1-TestPrt5 使用端口为 NUL: 使用驱动为 Brother DCP-116C 的打印机
SET NUM=5
for /l %%i in (1 1 %NUM%) do rundll32 printui.dll,PrintUIEntry /if /b "TestPrt%%i" /r "NUL:" /m "Brother DCP-116C"
pause

  删除打印机

@echo off
REM 删除名为TestPrt1-TestPrt5的5台打印机
SET NUM=5
for /l %%i in (1 1 %NUM%) do rundll32 printui.dll,PrintUIEntry /dl /n "TestPrt%%i"
pause

以上所述是小编给大家介绍的在windows中追加/删除虚拟打印机实例教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • php 在windows下配置虚拟目录的方法介绍

    先打开Apache的conf目录下的httpd.conf文件,在末尾添加如下代码: 复制代码 代码如下: <VirtualHost *:80> ServerName www.mydemo.com DocumentRoot "D:/mydemo"<Directory "D:/mydemo">  Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html inde

  • windows apache多端口虚拟主机配置方法

    1.打开httpd.conf,查找Listen:80,在下面一行加入Listen:8080:2.查找#Include conf/extra/httpd-vhosts.conf,将此行前面的#去掉:3.打开httpd.conf文件目录下面的extra文件夹下面的httpd-vhosts.conf文件:4.查找NameVirtualHost *:80,在下面一行增加NameVirtualHost *:8080:5.复制httpd-vhosts.conf文件最下面的如下代码,并且在下面粘贴一份: 复制

  • windows2003下apache配置虚拟主机和绑定域名服务

    本篇文章的方法大概在网上都可以找到解决方法,只是不是很明确,在这为了减少网友像我这么粗心的少走些弯路,我自己写了下一个简单明了的设置过程. 先说下我的服务器的环境: windows 2003 服务器 apache_2.0.48 php4.2 (我们服务器是独立IP,服务器上也没有装IIS,也没有装DNS服务器之类的,所以只能用Apache虚拟主机了) 下面开始说设置步骤:(我这只说基于主机名的虚拟主机一个IP地址,多个网站 的配置过程,如需了解更多,请参考Apache虚拟主机文档) 1.在win

  • Windows系统自动连接网络共享打印机BAT脚本分享

    最近几天财务老是闹连不上网络打印机,教了她几遍要在cmd里输入net use \\192.168.10.131 /user:guest 回车后再输入密码,实在是烦了,直接写了个bat脚本给她使用. 脚本内容: 复制代码 代码如下: @echo off echo 添加网络打印机 echo 等待.... sc config spooler start= auto net stop spooler & net start spooler rem 只需替换以下ip.打印机名.帐号.密码为具体名称即可 n

  • Windows 2003 IIS 6.0 搭建可建虚拟机的asp+.net+php+jsp+mysql+mssql

    1.预安装好windows 2003 打好sp2以上补丁  安装好IIS6.0  并选择asp和.net支持.IIS默认支持asp.net 1.1 asp.net 2.0可以在网上下载安装.2.安装php.mysql及mssql.网上很多正确介绍.这里就不讲了.重点讲jsp的环境搭配.3.1.安装JAVA 2 SDK 我装在D:\JDK目录下.接下来设置环境变量,这一步很重要,别忘了:JAVA_HOME = D:\JDKCLASSPATH = D:\JDK\LIB\tools.jar;D:\JD

  • Windows虚拟主机与VPS如何实现301重定向(asp.net)

    301重定向这么重要,那么如何实现301重定向呢?卢松松在他的<详解301永久重定向实现方法>一文中介绍了多种实现301重定向的方法,但里面的方法对于使用Windows虚拟主机或是Windows VPS的朋友来说,除了单个页面设置重定向可以用上,IIS 服务器实现整站301重定向的方法却无法应用.因为很多的虚拟主机和VPS的提供商不支持用户去做301重定向.本人遇到了这个问题,非常困扰.搜索了很多的资料,或是在论坛.知名SEO博客询问,得到的建议是:虚拟主机通常没办法做301重定向,建议使用独

  • NPOINT免费虚拟主机管理系统windows2003的安装方法【图文】第1/2页

    NPOINT虚拟主机管理系统下载地址http://www.jb51.net/softs/2219.html 注: 使用 SERV-U FTP软件的用户 安装方法 只要 第一步 至 第八步 就可以了.第一步:注册组件 复制npointdll文件夹到C盘根目录,然后点"开始"-"运行",输入:regsvr32 c:\npointdll\npoint.dll  系统提示: 表示注册成功 第二步:配置运行帐户 新建一个系统帐户(如:npointhost),并设置该帐户属于&

  • 在windows中追加/删除虚拟打印机实例教程

    由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数. 使用 rundll32 printui.dll,PrintUIEntry,在CMD中运行,在弹出框中得到以下提示. 用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile] /a[file] 二进制文件名 /b[name] 基本打印机名 /c[name] 如果操作在远程机器上,unc 机器名 /dl 删除本地打印机 /dn 删除网络打

  • 一文教会你从Windows中完全删除node.js

    目录 Windows完全删除node.js 附:node.js重新安装 总结 Windows完全删除node.js 1.输入cmd命令:npm cache clean --force  (如果还没开始删除的话) 2.从“控制面板”的“卸载程序”界面中卸载node程序. 3.重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程). 4.寻找这些文件夹并删除它们(及其内容)(如果还有).根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在: C:\Program Files (x8

  • redis在Windows中下载及安装、设置教程

    一.下载: 下载地址:https://github.com/MicrosoftArchive/redis/releases 根据系统下载的版本:以(64位为例) 下载后一般解压到根目录下:如(E:\Redis-x64-3.2.100) 二.安装: 打开cmd命令窗口,使用命令进行安装和注册redis到window服务 安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动服务命令:redis

  • Flutter中嵌入Android 原生TextView实例教程

    前言 本篇文章 中写到的是 flutter 调用了Android 原生的 TextView 案例 添加原生组件的流程基本上可以描述为: 1 android 端实现原生组件PlatformView提供原生view 2 android 端创建PlatformViewFactory用于生成PlatformView 3 android 端创建FlutterPlugin用于注册原生组件 4 flutter 平台嵌入 原生view 1 创建原生组件 创建在fLutter工程时会生成几个文件夹,lib是放fl

  • 如何在Windows中运行多个MySQL实例详解

    前言 在Windows中可以从命令行为每个实例使用合适的操作参数来手动启动多个MySQL实例或者通过以Windows服务方式来安装多个服务器来运行. 1.在windows中MySQL的base目录中创建两个新实例的数据目录data3307,data3308 2.为每个新实例设置配置文件来指定相关选项 my3307.cnf文件内容如下: [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 设置3307端口 port

  • windows中oracle存储过程加密的实例代码

    在硬盘中创建一个过程test.sql create or replace procedure test_bf is begin dbms_output.put_line('test success'); end; 然后通过使用oracle自带的wrap命令对过程进行加密 先打开CMD然后输入命令 wrap iname='input_name' oname='output-name' input_name是需要加密的文件的路径,output_name是输出的文件名,如果没有oname那么生成出来的

  • jQuery中队列queue()函数的实例教程

    如果当前jQuery对象匹配多个元素:获取队列时,只获取第一个匹配元素上的队列:设置队列(替换队列.追加函数)时,则为每个匹配元素都分别进行设置. 该函数属于jQuery对象(实例).如果需要移除并执行队列中的第一个函数,请使用dequeue()函数.你也可以使用clearQueue()函数清空指定的队列. 语法 jQuery 1.2 新增该函数.queue()函数具有如下两种用法: 用法一: jQueryObject.queue( [ queueName ] [, newQueue ] ) 如

  • Java的Struts2框架中拦截器使用的实例教程

    1.拦截器小介 拦截器的功能类似于web.xml文件中的Filter,能对用户的请求进行拦截,通过拦截用户的请求来实现对页面的控制.拦截器是在Struts-core-2.2.3.jar中进行配置的,原始的拦截器是在struts-default.xml中配置的,里面封存了拦截器的基本使用方法. Struts2拦截器功能类似于Servlet过滤器.在Action执行execute方法前,Struts2会首先执行struts.xml中引用的拦截器,如果有多个拦截器则会按照上下顺序依次执行,在执行完所有

  • linux中echo命令的用法实例教程

    前言 对于初学者来说,掌握一些基本命令的常用用法是必须的.本文列举了echo命令的几个常用用法并加以实例说明,以作回顾.参考. 基础 echo命令常用作打印输出字符串,根据echo帮助文件可以获得以下信息: 语法 echo [-neE][arg-] 三个参数: -n : 关闭输出文字时的自动换行 -e : 开启转义字符功能( \ ) -E : (默认)关闭转义字符功能( \ ) 使用-e选项时,如果在字符串中键入以下字符,程序不会将之当成一般字符串输出,而是会使用其转义功能: • \a 发出警告

  • Java Web项目中实现文件下载功能的实例教程

    需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>通过链接下载文件&

随机推荐