dos批处理脚本自动添加网络IP打印机-简单亲测可用

前言:
网上找的批处理添加方法复杂且需要导入注册表。
花了一天时间研究出来的简单、快速的批处理命令。
win10亲测可用。

核心代码:

1. 添加驱动

pnputil.exe -i -a "inf文件路径"
powershell -Command "& {Add-PrinterDriver -Name '驱动名'}"

备注:注意驱动名是inf 文件中的名词,如下图 “EPSON Universal Print Driver”就是驱动名
在这里插入图片描述

2.添加端口

powershell -Command "& {Add-PrinterPort -Name '端口名%' -PrinterHostAddress '打印机IP'}"

3.添加打印机

powershell -Command "& {Add-Printer -Name 打印机名 -DriverName '驱动名' -PortName 端口名}"

4.删除打印机

powershell -Command "& {remove-printer -name 打印机名}"

网络打印机:EPSON C8690a
打印机IP:10.0.1.56
添加后的打印机名:FaWuQu-C8690
添加电脑:win10 64位
驱动:官方驱动64位
驱动路径:D盘

备注:如需复用以下代码仅需更改 “修改区” 的变量即可。
备注2:请将代码保存为 “ANSI” 编码的bat文件

@echo off
rem 自动提权以管理员方式运行
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' EQU '5' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
rem 提示
echo.
echo.
echo ------------------------------------------------
color 0C
echo 正在添加打印机。。。。
echo 1. 如有弹窗点确定或允许。
echo 2. 安装完成后才可继续安装其它打印机。
echo ------------------------------------------------
TIMEOUT /T 5
color 07
rem 修改区
set print_name=FaWuQu-C8690
set print_IP=10.0.1.56
set print_drive_dir=d:\EPSON WF-C8690aDrive\E_JFB0DE.INF
set print_drive_name=EPSON Universal Print Driver
set print_area=法务区
rem 重启服务
net stop spooler>nul
net start spooler>nul
rem 删除重名打印机
powershell -Command "& {remove-printer -name %print_name%}"
rem 添加驱动
C:\Windows\System32\pnputil.exe -i -a "%print_drive_dir%"
C:\Windows\System32\pnputil.exe -i -a "%print_drive_dir2%"
powershell -Command "& {Add-PrinterDriver -Name '%print_drive_name%'}"
rem 添加端口
powershell -Command "& {Add-PrinterPort -Name 'IP_%print_IP%' -PrinterHostAddress '%print_IP%'}"
rem 添加打印机
powershell -Command "& {Add-Printer -Name %print_name% -DriverName '%print_drive_name%' -PortName IP_%print_IP%}"
rem 其他非关键
echo.
echo.
echo.
echo ------------------------------------------------------------------
echo 打印机名:	%print_name%
echo 位置:		%print_area%
echo.
echo.
echo 请选择该打印机进行打印,如有问题请联系管理员。
echo ------------------------------------------------------------------
pause
1.打印机的名称:打印时选择打印机时显示的名称
2.打印机IP:这个我就不多解释了,懂得都懂
3.打印机型号:这个需要去进入打印机IP里面查看或者打印机上面有显示
4.打印机的文件地址:一般和bat放一起文件夹里面带有INF的文件,基本上所有打印机官方驱动里面都有自己去提取。
我的脚本里面都写得很清楚变量所需要的具体参数如下
set "电脑打印机显示名=壹身白的打印机"
set "打印机IP=10.97.4.110"
set "打印机型号=Kyocera KM-3060 KX"
set "打印机驱动文件地址=001\OEMSETUP.INF"
chcp 65001 >nul
setlocal enabledelayedexpansion
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTE...
                                    很多时候我们都会碰到打印机服务自动关闭的情况,导致打印机无法使用,去找相关服务有时候又会找不到,或者浪费时间;下面介绍一个简单的开启打印服务的方法供大家参考解决问题;新建一个文本文档或记事本,把内容添加到文本里,把文本后缀名.txt修改为.bat然后双击运行。、按win+r组合键打开运行,输入“services.msc”按回车,打开服务。、找到Print Spooler的服务,将它停止。、最后再重新开启Print Spooler服务。下面这个方法也可以,只是需要自己去手动查找。
将打印机连接添加网络打印机。此脚本必须运行在本地计算机上。
脚本代码
Set WshNetwork = CreateObject("WScript.Network")WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Xerox300"WshNetwork.SetDefaultPr...
                                    目前市场上稍微高级点的打印机/功能一体打印机都带有网络打印功能。插上网线,设置好IP地址,局域网内的所有电脑就可以通过IP添加这台打印机使用了。比起来共享打印机来说,方便很多。通过IP地址添加网络打印机,打印服务器方法以XP系统为例,VISTA和win7方法也类似。本站图片上已经用红线标出重要位置,如下:第一步:控制面板---打开 打印机和传真---点击左侧的添加打印机第二步:在弹出的“添加打印机...
                                    一般来说,安装基于TCP/IP端口的打印机都需要经过两个步骤,第一步是添加TCP/IP端口,第二步是安装打印机驱动程序.既然要实现无需人工参与批量部署,就肯定离不开脚本或者命令行.好在这些WINDOWS都给予了完美的支持,下面即刻转入正题.1、添加TCP/IP端口WindowsRegistryEditorVersion5.00[HKEY_LOCAL...
                                    用bat做个一键连接网络打印机
用途:大部分普通用户来说,并不知道怎么连接网络打印机(共享打印机还好)
好处:用户只需双击bat,输入打印机IP地址敲下回车即可连接(当然你也可以改成一键连接),
优势:相比点击驱动包的setup还要简单几倍,成功率也高(因为驱动安装包会不能搜索出不同网段的打印机,虽然是网络互通)
代码示例的型号是富士施乐的4475,请读者根据实际情况安装合适的驱动
第三部分,请...