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%}"

cls

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 其他非关键
cls

echo.
echo.
echo.
echo ------------------------------------------------------------------
echo 打印机名:	%print_name%
echo 位置:		%print_area%
echo.
echo.
echo 请选择该打印机进行打印,如有问题请联系管理员。
echo ------------------------------------------------------------------

pause

效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为fantasy7728原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/fantasy7728/article/details/127571300