V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trepwq
V2EX  ›  分享发现

分享一个 windows 批处理一键安装网络打印机脚本

  •  
  •   trepwq · 2016-07-08 23:41:52 +08:00 · 17526 次点击
    这是一个创建于 3088 天前的主题,其中的信息可能已经有所发展或是发生改变。

    晚上撸了一个新轮子。 此脚本主要有两部分, 1 ,创建 tcp/ip 端口, 2 ,创建打印机。网上关于创建端口部分 90%都是使用注册表注入的方式,此方式需要重启电脑或重启打印服务,我的方法使用系统自带的 prnport.vbs 脚本,不需要重启。

    欢迎指点。

    m126nw.bat

    @echo off rem "rem"是注释,"@echo off"是不显示命令提示符"C:\Users\admin>" echo;欢迎使用打印机安装程序 echo;按任意键开始安装,或按右上角 X 退出安装 pause>nul rem ">nul"使命令输出不显示 echo;创建打印机 TCP/IP 端口: IP_172.16.10.251 cscript %~dp0\m126drivers\prnport.vbs -a -r IP_172.16.10.251 -h 172.16.10.251 -o raw rem "%~dp0"是脚本所在目录,这里有个坑,官方例子里没有 -o raw 这个参数,但是没有这个参数会报参数无效 rem "prnport.vbs"实际目录是 C:\Windows\System32\Printing_Admin_Scripts\zh-CN ,此处复制到驱动目录 echo;删除同名打印机 rundll32 printui.dll,PrintUIEntry /dl /n "HP LaserJet Pro MFP M126nw" /q rem 此处删除同名打印机,否则会出现打印机副本 echo;创建打印机: HP LaserJet Pro MFP M126nw rundll32 printui.dll,PrintUIEntry /if /b "HP LaserJet Pro MFP M126nw" /f %~dp0\m126drivers\hpcm125126.inf /r "IP_172.16.10.251" /m "HP LaserJet Pro MFP M125-M126 PCLmS" /z rem 此处注意 /m 后面的参数为 inf 文件里面的设备名称,/b 后面的为自定义打印机名称,此处也可以使用 vbs 脚本安装,脚本目录同上 echo;打印机安装完成 echo;按任意键退出... pause>nul

    第 1 条附言  ·  2016-07-09 01:30:13 +08:00
    格式乱了,需要的去我的网站看吧, https://www.willnet.net/index.php/archives/68/
    17 条回复    2016-07-09 11:48:55 +08:00
    trepwq
        1
    trepwq  
    OP
       2016-07-08 23:43:16 +08:00
    编辑了半天格式全乱了。。。
    DoraJDJ
        2
    DoraJDJ  
       2016-07-08 23:44:02 +08:00
    @trepwq Markdown 格式发帖你值得拥有。
    trepwq
        3
    trepwq  
    OP
       2016-07-08 23:54:09 +08:00
    需要的去我的网站看吧, https://www.willnet.net/index.php/archives/68/
    akaayy
        4
    akaayy  
       2016-07-09 01:50:16 +08:00 via Android
    干嘛用的??
    trepwq
        5
    trepwq  
    OP
       2016-07-09 02:25:36 +08:00 via iPhone
    @akaayy 每天都有几个人找你装打印机驱动你就知道干嘛用了。。
    binux
        6
    binux  
       2016-07-09 03:36:39 +08:00
    ip 固定,协议固定,设备固定,驱动固定。除了你自己,对别人有什么意义吗?
    rssf
        7
    rssf  
       2016-07-09 06:16:22 +08:00 via iPhone
    太有意义了
    ckzx
        8
    ckzx  
       2016-07-09 07:04:22 +08:00 via Android
    干嘛不域分发
    akaayy
        9
    akaayy  
       2016-07-09 08:32:57 +08:00 via Android
    @trepwq
    难道问题关键不是驱动吗?
    没有驱动,你这脚本也能有效?

    有了驱动,有网络打印机 ip ,添加打印机就是点几下的事情
    iloveayu
        10
    iloveayu  
       2016-07-09 08:59:37 +08:00 via iPad
    在打印机服务器上把 32 和 64 位驱动都挂载好,添加网络打印机时双击就好了啊。
    venster
        11
    venster  
       2016-07-09 09:03:56 +08:00 via Android
    PowerShell 的 printerportconfig cmdlet 明显更方便啊
    trepwq
        12
    trepwq  
    OP
       2016-07-09 09:55:40 +08:00
    @venster win7 的 powershell 支持 Print Management 相关命令吗?记得很多命令都是 win8 才开始有的
    trepwq
        13
    trepwq  
    OP
       2016-07-09 09:58:02 +08:00
    @akaayy 是得有驱动啊,可是别人连这点几下都不会或者不想
    trepwq
        14
    trepwq  
    OP
       2016-07-09 10:01:01 +08:00
    @binux 改个驱动目录,改个 ip ,改个打印机名称不是难事吧。。。开头我说了主要就是两个命令
    trepwq
        15
    trepwq  
    OP
       2016-07-09 10:01:45 +08:00
    @ckzx 没有域控。。。
    trepwq
        16
    trepwq  
    OP
       2016-07-09 10:02:35 +08:00
    @iloveayu 没有打印机服务器,是打印机自带的网络打印功能
    venster
        17
    venster  
       2016-07-09 11:48:55 +08:00
    win7 的似乎支持,反正可以安装高级版本的 wmi 框架,应该没什么问题。 xp 不行。我在公司每次碰到 xp 的机器该打印机就得跑一趟,其他的直接 ps 里面打几行就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:08 · PVG 20:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.