使用批处理成批添加打印机(含打印服务器)
目的:
根据打印机配置文件,成批的添加打印机,例如一台电脑同时要安装一个本地的并口打印机,一个网络打印服务器(并非共享其它电脑的打印机,是那种可用一条网线接上交换机的打印机)。
实现步骤:
1、轮询目录下的“打印机X.txt”,根据其中的端口描述判断是否本地LPT端口,如果是LPT本地打印机就不理会,如果是打印服务器,会自动创建新的TCP/IP端口。
2、重启打印服务,使新创建的本地IP端口生效。
3、轮询目录下的“打印机X.txt”,根据其中的打印机名称、驱动位置、打印机型号、打印机端口添加打印服务器。
关键语句:
rundll32 printui.dll,PrintUIEntry /?
缺陷:
因为我这里用不到USB口的本地打印机,以及不使用共享打印机,所以没有添加判断这类打印机的语句。
★★★★★★★★★
下面是批处理的代码
echo off
cls
rem 以下是判断端口
set count=0
:addreginfo
set /a count=%count%+1
if exist 打印机%count%.txt (set filename=打印机%count%.txt) else (goto eof)
for /f "tokens=2 delims==" %%a in ('type %filename% ^|findstr /I "打印机IP="') do set pIP=%%a
if /I "%pIP%"=="LPT1:" goto addreginfo
if /I "%pIP%"=="LPT2:" goto addreginfo
rem 以下是添加端口在注册表中的信息
set regpath1=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_
set regpath2=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_
:addreg1
@reg add "%regpath1%%pip%" /v "Protocol" /d "00000001" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath1%%pip%" /v "Version" /d "00000001" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath1%%pip%" /v "HostName" /d "" /f >nul 2>nul
@reg add "%regpath1%%pip%" /v "IPAddress" /d "%pip%" /f >nul 2>nul
@reg add "%regpath1%%pip%" /v "HWAddress" /d "" /f >nul 2>nul
@reg add "%regpath1%%pip%" /v "PortNumber" /d "9100" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath1%%pip%" /v "SNMP Community" /d "public" /f >nul 2>nul
@reg add "%regpath1%%pip%" /v "SNMP Enabled" /d "00000000" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath1%%pip%" /v "SNMP Index" /d "00000001" /f /t REG_DWORD >nul 2>nul
:addreg2
@reg add "%regpath2%%pip%" /v "Protocol" /d "00000001" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath2%%pip%" /v "Version" /d "00000001" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath2%%pip%" /v "HostName" /d "" /f >nul 2>nul
@reg add "%regpath2%%pip%" /v "IPAddress" /d "%pip%" /f >nul 2>nul
@reg add "%regpath2%%pip%" /v "HWAddress" /d "" /f >nul 2>nul
@reg add "%regpath2%%pip%" /v "PortNumber" /d "9100" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath2%%pip%" /v "SNMP Community" /d "public" /f >nul 2>nul
@reg add "%regpath2%%pip%" /v "SNMP Enabled" /d "00000000" /f /t REG_DWORD >nul 2>nul
@reg add "%regpath2%%pip%" /v "SNMP Index" /d "00000001" /f /t REG_DWORD >nul 2>nul
goto addreginfo
:eof
rem 以下是重新启动打印服务,使新端口生效
:restartservice
cls
echo.
echo 请稍候,正在启用打印机端口!
echo.
net stop spooler >nul 2>nul
net start spooler >nul 2>nul
rem 以下是添加打印机
set count=0
:instprinter
set /a count=%count%+1
if exist 打印机%count%.txt (set filename=打印机%count%.txt) else (goto over)
cls
for /f "tokens=2 delims==" %%a in ('type %filename% ^|findstr "打印机IP="') do set pIP=%%a
for /f "tokens=2 delims==" %%a in ('type %filename% ^|findstr "打印机名称="') do set pname=%%a
for /f "tokens=2 delims==" %%a in ('type %filename% ^|findstr "打印机型号="') do set pmodel=%%a
for /f "tokens=2 delims==" %%a in ('type %filename% ^|findstr "打印机INF位置="') do set pinf=%%a
echo.
echo 请稍等,正在添加打印机%count%,相关信息如下:
echo.
echo IP :%pIP%
echo 名称 :%pname%
echo 型号 :%pmodel%
echo 驱动 :%pinf%
if /I "%pIP%"=="LPT1:" (goto ok)
if /I "%pIP%"=="LPT2:" (goto ok) else (set pip=IP_%pip%)
:ok
rundll32 printui.dll,PrintUIEntry /if /b "%pname%" /f "%pinf%" /r "%pIP%" /m "%pmodel%"
goto instprinter
:over
cls
echo.
echo 打印机添加完毕!
pause
exit
★★★★★★★★★
网络打印服务器配置文件“打印机1.txt”的内容:
打印机IP=44.44.44.44
打印机名称=柯尼卡 220 打印服务器
打印机型号=KONICA MINOLTA 220
打印机INF位置=D:\sysbak\打印机\220驱动\TSK.inf
★★★★★★★★★
本地打印机配置文件“打印机2.txt”的内容:
打印机IP=LPT1:
打印机名称=本地HP 3050
打印机型号=HP LaserJet 3050 Series PCL 5e
打印机INF位置=D:\sysbak\打印机\hp3055\Drivers\2K_XP_Vista\hppcp501.inf
转载于:https://blog.51cto.com/foxtox/543685
使用批处理成批添加打印机(含打印服务器)相关推荐
- 批处理命令添加打印机
@echo off echo 添加网络打印机 echo 等待-. rem 只需替换以下ip.打印机名.帐号.密码为具体名称即可 net use \\192.168.0.200\IPC$ "& ...
- ttlink无线打印服务器固件,TTLINK TT-180U1打印机服务器 TCP/IP添加打印机的教程
使用TT-180U1 LPR添加方式,本教程以打印机为兄弟HL-2140激光打印机为实例, 系统为Windows 7 64位系统, 打印服务器IP固定为192.168.1.220 . 优点:不用安装软 ...
- ttlink无线打印服务器,TTLINK TT-180U1打印机服务器 TCP/IP添加打印机的教程
使用TT-180U1 LPR添加方式,本教程以打印机为兄弟HL-2140激光打印机为实例, 系统为Windows 7 64位系统, 打印服务器IP固定为192.168.1.220 . 优点:不用安装软 ...
- 无线打印服务器怎么安装,【DDwifi打印服务器】Windows 7系统添加打印机步骤(离线安装打印机驱动)...
[DDwifi打印服务器]Windows 7系统添加打印机步骤(离线安装打印机驱动) 时间:2020-06-15 04:29:05 / 来源:你好多多DIY / 作者:多多 [DDwifi打印服务器] ...
- 无线打印机服务器安装步骤,【DDwifi打印服务器】Windows 10系统添加打印机步骤(离线安装打印机驱动)...
[DDwifi打印服务器]Windows 10系统添加打印机步骤(离线安装打印机驱动) 时间:2020-06-15 04:31:43 / 来源:你好多多DIY / 作者:多多 [DDwifi打印服务器 ...
- win8.1开启系统打印服务器,Win8.1系统怎么打开打印机服务? win8怎么添加打印机...
延伸:win8怎么添加打印机 描述:打印机是日常办公我们必备的设备,很多地方都要用到.现在好多朋友都尝鲜装上了win8系统,有的是置换新设备直接预装的设备,是不是因为对操作系统的不熟悉操作有点吃力呢? ...
- 如何使用cmd进入打印机选项_用命令添加打印机
如何运用命令行添加打印机? 如果你是一个单位的网管恐怕为单位的各个科室.部门添加打印机特别是网络打印机是件很令 人头痛的事,挨个部门跑吗?不,如果你能熟练的掌握下面的介绍的命令,那么你坐在自己的 电脑 ...
- xp系统简单tcpip服务器,Win XP系统下添加打印机的方式手工添加TCP/IP端口
1.在安装TCP/IP打印机之前.先准备好打印机的相关驱动. 2.在安装的电脑上能用ping命令,测验打印服务器网络是否处于联通状态. 点开始 运行 ping 服务器的IP -t 或者键盘左下角微软键 ...
- 手动添加打印机的方法(hp laserjet p2055dn为例)
实验室买了一台网络打印机,型号是hp laserjet p2055dn.设置完打印机后发现有的电脑可以使用该打印机,有的电脑不可以.摸索了一阵子,发现不用从网上下载什么驱动的.具体方法如下: 1.打开 ...
最新文章
- 广度深度都要,亚马逊是如何推动 Alexa 内生成长的?
- 掌握 analyze API,一举搞定 Elasticsearch 分词难题
- 浅析网站流量出现异常情况应怎样解决?
- python编程题-分享13个python编程笔试题
- HTTP协议超级详解
- qt使用 QMediaPlay 简单播放音乐
- define 解析依赖,判断状态,初始化/触发加载 --------require 同步加载(直接返回)/异步加载(创建匿名模块,判断状态,初始化/触发加载)
- redis.mecmcached和mongoDB的区别
- [Error]SyntaxError: unindent does not match any outer indentation level
- 一张图理清 Python3 所有知识点
- go https client
- 从零入门 Serverless | 使用 Spot 低成本运行 Job 任务
- JVM---类加载与字节码技术
- 怎样在Edge浏览器中开启IE兼容模式
- CSP介绍、以及使用CryptoAPI枚举CSP并获取其属性
- 2021美赛C题解题思路(Confirming the Buzz about Hornets)
- 例说STM32F7高速缓存——Cache一致性问题(三)
- css篇-盒子模型理解
- Linux 学习路线图 #CSDN博文精选# #IT技术# #学习路线# #系统化学习#
- uva 1645 count
热门文章
- matlab横截面数据的统计,常用统计分析软件汇总
- PDF itext pkcs#7 国密签名验证
- 计算机游戏教学法.ppt,计算机游戏教学法第十一章.ppt
- 平方和:在1-40中只要数字中含有2,0,1,9的数字一共有28个,他们的和是574,平方和是14362。请问1-2019中,所有这样的输的平方和是多少?
- vue动态加载路由的实现
- 机器视觉检测技术在工业零部件的应用
- MySQL 数据库大学生速成复习大纲(持续更新)
- 行业报告 | 聚焦智能制造
- 北京市怀柔区谷歌卫星地图下载
- java pdf 水印_Java在PDF中添加水印(文本/图片水印)