利用批处理脚本自动添加网络打印机(TCP/IP)

 3年前     30,022  
利用批处理脚本自动添加网络打印机(TCP/IP)

文章目录

    一般情况下,安装TCP/IP端口的打印机都需要两个步骤,先添加TCP/IP端口,再安装驱动程序,既然要实现批量自动部署,就肯定离不开脚本,然而Windows都给予了完美的支持。

    • 用途:绝大部分普通用户都不会连接打印机,更不会安装驱动,如果是共享打印机相对比较简单,基于TCP/IP端口的网络打印机多数人不会操作,建立一个脚本并使其自动安装就能减少大量的重复工作,尤其是人员变动比较频繁的公司。
    • 优点:使用者无需繁琐的操作,只需双击bat脚本即可实现自动安装。
    • 缺点:前期调试需要具备一定的bat、电脑操作知识。

    根据网上的资料,大多都是在bat里导入注册表文件实现端口添加,且更换打印机需要修改多处IP地址,于是我将脚本优化了一下,在bat头部设置变量,后面的脚本纯变量调用,更换打印机、IP只需修改头部变量即可,且添加端口无需reg文件,可以自动识别操作系统,从而根据不同的操作系统采用不同的驱动文件。

    创建脚本

    @echo off
    MODE con: COLS=20 LINES=20
    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"
    
    
    @echo off
    setlocal
    MODE con: COLS=100 LINES=28
    title 打印机自动安装程序  by:COAadmin  Blog:www.zifumao.com
    
    set TheBit=%PROCESSOR_ARCHITECTURE:~-2%
    if /i not "%os%"=="Windows_NT" (set TheOS=非Windows系统&set TheBit=) else (
    ver | find "5.1" > nul && set system_info=WinXP.%TheBit%
    ver | find "6.1" > nul && set system_info=Win7.%TheBit%
    ver | find "6.2" > nul && set system_info=Win8.%TheBit%
    ver | find "10.0"> nul && set system_info=Win10.%TheBit%
    )
    
    rem  Tips:根据自身情况修改第41 - 44行等于号后面的内容
    rem
    rem  变量说明:
    rem
    rem  打印机名称:print_name			//在 “设备和打印机” 界面中显示的名称
    rem  打印机IP:print_IP				//打印机IP地址,仅适用于TCP/IP端口
    rem  驱动文件路径:print_drive_dir	//驱动文件相对路径,%~dp0表示当前运行路径,如驱动不区分操作系统则删除 “ %system_info% ” 并修改为驱动子目录,如 %~dp0Drive\drive.inf
    rem  驱动名称:print_drive_name		//inf文件中可能包含多个型号的打印机驱动,该名称用于匹配驱动名称,可在打印机 “属性” 中的 “高级” 中点击 “新驱动程序” 查看
    rem
    
    set print_name=理光 MP C2003
    set print_IP=192.168.0.10
    set print_drive_dir=%~dp0%system_info%\oemsetup.inf
    set print_drive_name=RICOH MP C2003 PCL 6
    
    
    echo.
    echo.          打印机自动安装程序   by:COAadmin  Blog:www.zifumao.com
    echo.
    echo.    =========================================================================
    echo.
    echo.    操作系统 :  %system_info%
    echo.
    echo.    打印机名 :  %print_name%
    echo.
    echo.    打印机IP :  %print_IP%
    echo.
    echo.    驱动路径 :  %print_drive_dir%
    echo.
    echo.    驱动名称 :  %print_drive_name%
    echo.  
    echo.    =========================================================================
    echo. 
    echo.    准备安装 %print_name% 打印机
    echo.
    echo.    如果360安全卫士拦截了,允许运行
    echo.
    echo.    如果运行本程序出现异常或者程序运行后未能安装打印机,请联系管理员!
    echo.
    echo.
    echo.
    echo.    ★ ★ ★ 按任意键开始安装打印机 ★ ★ ★
    echo.
    pause>nul
    
    :check
    rem 检查驱动目录是否存在
    if not exist %print_drive_dir% goto no_drive
    
    
    
    :add_port
    echo.
    echo.    正在添加打印机端口
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "Protocol" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "Version" /t REG_DWORD  /d 0x2 /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "HostName" /t REG_SZ /d "%print_IP%" /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "IPAddress" /t REG_SZ /d "" /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "HWAddress" /t REG_SZ /d "" /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "PortNumber" /t REG_DWORD  /d 0x238c /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Community" /t REG_SZ /d "public" /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Enabled" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Index" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "PortMonMibPortIndex" /t REG_DWORD  /d 0x1 /f>nul
    
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "Protocol" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "Version" /t REG_DWORD  /d 0x2 /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "HostName" /t REG_SZ /d "%print_IP%" /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "IPAddress" /t REG_SZ /d "" /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "HWAddress" /t REG_SZ /d "" /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "PortNumber" /t REG_DWORD  /d 0x238c /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Community" /t REG_SZ /d "public" /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Enabled" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "SNMP Index" /t REG_DWORD  /d 0x1 /f>nul
    reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\%print_IP%" /v "PortMonMibPortIndex" /t REG_DWORD  /d 0x1 /f>nul
    
    echo.
    echo.    正在重启打印服务,请稍等……
    echo.
    rem 必须重启打印服务才能成功添加端口
    net stop spooler>nul
    net start spooler>nul
    if errorlevel 0 echo.    打印服务重启成功
    echo.   ..............................................
    
    rem  检查是否存在同名打印机,如存在则删除再添加
    rem  如无需删除同名打印机,请删除或注释下面4行内容
    set isInstalled=0
    for /f "skip=2" %%i in ('wmic printer where "Name='%print_name%'" get Name') do (set isInstalled=1)
    if %isInstalled%==1 (rundll32 printui.dll,PrintUIEntry /dl /n "%print_name%")
     
    :install
    REM # /b 参数用于指定安装的打印机名称。
    REM # /f 参数用于指定打印机的驱动文件。
    REM # /r 具体的端口名称可以通过 打印机属性-->端口 那边去查看。
    REM # /m 参数用于指定打印驱动程序的名称。
    rundll32 printui.dll,PrintUIEntry /if /b "%print_name%" /f "%print_drive_dir%"  /r "%print_IP%" /m "%print_drive_name%" /z
    if errorlevel 0 (
    	echo.
    	echo.    打印机安装成功!
    	echo.
    	echo.    ===========================================================
    	echo.
    	goto end
    )else if(
    	echo.
    	echo.    打印机安装失败!
    	echo.
    	echo.    ===========================================================
    	goto end
    )
    echo. 
    echo.
    rem 安装好打印机后,也可以在批处理文件最后加一行命令,把这个打印机设置为默认。
    echo.
    rem  echo 将这个打印机设置为默认打印机
    rem  rundll32 printui.dll,PrintUIEntry /y /n %print_name%
    goto end
    
    
    
    REM #*********************************************************************************
    REM #
    REM # /ia 用 inf 文件安装打印机驱动程序
    REM # /if 用 inf 文件安装打印机
    REM # /b[name] 基本打印机名
    REM # /c[name] 如果操作在远程机器上,unc 机器名
    REM # /dl 删除本地打印机
    REM # /dn 删除网络打印机连接
    REM # /dd 删除打印机驱动程序
    REM # /f[file] inf 文件或输出文件
    REM # /h[arch] 驱动程序体系结构,为下列之一: Alpha | Intel | IA64
    REM # /m[model] 打印机驱动程序型号名
    REM # /n[name] 打印机名
    REM # /v[version] 驱动程序版本属于下列中的一个: Windows 95、98 和 ME | Windows NT 4.0 | Windows NT 4.0 或 2000 | Windows 2000 或 XP| Windows XP
    REM # /q 安静模式,不显示错误信息
    REM # /r[port] 端口名
    REM # /y 将打印机设为默认打印机
    REM # /z 不要自动共享这台打印机
    REM # /Z 共享这台打印机,只能跟 /if 选项一起使用
    REM #其中/m参数后面的打印机驱动程序型号名为inf文件中用于指明驱动的打印机名称,一般在使用向导安装的时候在选定inf文件后出来的所有驱动名称中你自己需要的那个。
    REM #
    REM # 更多的帮助请使用rundll32 printui.dll,PrintUIEntry /?
    REM #
    REM #*********************************************************************************
    
    
    
    :no_drive
    rem  没有驱动文件
    echo.
    echo.  驱动文件不存在或操作系统不支持,程序即将退出...
    echo.
    
    
    
    :end
    rem 即将退出程序
    echo.
    echo.  5秒后自动退出...
    echo.
    ping -n 5 127.0.0.1>nul
    start https://www.zifumao.com/3692.html
    exit

    复制以上脚本粘贴到新建文本文档中,并保存为bat格式(编码为ANSI)。

    修改参数

    默认情况下,需要修改第 39 ~ 42 行内容。

      1. 如区分操作系统,请以下图所示存放(当然你也可以修改第25、26行内容自行更改存放路径格式),也可以在41行中删除变量“%system_info%”不根据系统版本选择驱动,所有系统使用同一驱动;
      2. 脚本中第41行使用的是相对路径(不懂的自行百度相对路径与绝对路径),这里是最容易出错的;
      3. 第41行中,变量结尾需以 .inf 结尾,不要直接指定文件夹,具体可以根据“关于变量“驱动名称”的说明”判断是否正确选择文件。

    注意:Windows 10 与 Windows 11 驱动基本通用。


    利用批处理脚本自动添加网络打印机(TCP/IP)
    利用批处理脚本自动添加网络打印机(TCP/IP)

     

    开始使用

    完成以上修改后,双击运行bat脚本即可开始安装

    利用批处理脚本自动添加网络打印机(TCP/IP)

    关于变量“驱动名称”的说明

    在脚本第44行需要修改驱动名称,可以在“设备和打印机”中任意打印机“打印机属性”面板中的“高级”选项卡中,点击“新驱动程序”后,选择需要使用的驱动描述文件(.inf),Windows 即可识别改驱动文件所包含的驱动,如下图中,“驱动名称”变量值应改为“RICOH MP 2554 PCL 6

    利用批处理脚本自动添加网络打印机(TCP/IP)

    2023/04/14:关于备份/恢复打印机设置

    该文章发布后,网友@安静 咨询如何实现添加打印机后默认彩色/黑白打印,当时由于事情较多,大概翻阅了一下也没有找到相关的参数可以指定彩色/黑白打印,后来在闲暇至于看到rundll32 printui.dll,PrintUIEntry还可以备份/恢复打印机配置突发奇想(刚好我也有这种需求),经过实测,在配置好的电脑上备份打印机配置后是完全可以实现该功能的,有些公司使用打印机需要认证(例如理光Aficio MP 2852添加认证后需要在详细信息中填写ID)才能打印等特殊需求应该也是可以的,我就不一一测试了。

    值得一提的是,我是在Windows 10 Pro 2004中测试,打印机恢复配置文件时若打印机处于“未指定”状态时,是无法恢复配置的,而且这个这个状态的时长根据本身环境会有所变化,不好判断当前状态,所以我就单独写了一个bat脚本来备份/恢复配置文件。
    利用批处理脚本自动添加网络打印机(TCP/IP)

    @echo off
    MODE con: COLS=90 LINES=28
    
    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"
    
    
    @echo off
    MODE con: COLS=90 LINES=28
    title 打印机配置备份/恢复工具
    
    
    rem  变量说明:
    rem
    rem  打印机名称:print_name
    rem  备份路径:print_settings
    
    set print_name=2楼 C2003
    set print_settings=%~dp0Print_Setting.dat
    
    :start
    cls
    echo.
    echo.
    echo.  ===========================================================
    echo.
    echo.  打印机名 :  %print_name%
    echo.
    echo.  备份路径 :  %print_settings%
    echo.
    echo.  
    echo.  ===========================================================
    echo. 
    echo.   准备备份/恢复%print_name% 打印机配置文件
    echo.
    echo.   如果360安全卫士拦截了,允许运行
    echo.
    echo.   如果运行本程序出现异常或者程序运行后未能安装打印机,请联系管理员
    echo.
    echo.   1、备份打印机配置到文件
    echo.
    echo.   2、从文件恢复打印机配置   
    echo.
    set /p var=请选择:
    if %var%==1 goto backup
    if %var%==2 goto recovery
    goto start
    
    :backup
    rundll32 printui.dll,PrintUIEntry /Ss /n "%print_name%" /a "%~dp0Print_Setting.dat"
    goto end
    
    :recovery
    rundll32 printui.dll,PrintUIEntry /Sr /n "%print_name%" /a "%~dp0%print_name%_Setting.dat"
    
    
    :end
    rem 即将退出程序
    echo.
    echo.  5秒后自动退出...
    ping -n 5 127.0.0.1>nul
    echo.
    exit
    利用批处理脚本自动添加网络打印机(TCP/IP)
    前往领取
    版权声明:字符猫 发表于 3年前,共 8918 字。
    转载请注明:利用批处理脚本自动添加网络打印机(TCP/IP) | 字符猫

    您可能感兴趣的

    80 条评论

    • 弱水三千

      北京
      回复

      直接运行报错,没有可实用案列 ,自动关闭。
      如果已管理员身份运行,则显示操作无法完成(错误0x00000704)指定的端口未知

      • 字符猫

        上海
        回复

        @弱水三千 我这边没有问题,评论区也从未出现过类似问题,请检查修改的部分是否有误,请先手动添加打印机测试,再根据实际情况进行修改。另外,共享打印机不能这么用、打印服务器不能这么用。

      • 你干嘛

        山东
        回复

        @弱水三千 你好我也遇到了这个问题,有解决方案么

        • 大闸蟹

          广东
          回复

          @你干嘛 我也不知道,但是把前面的自提管理员权限删除后就能使用了

    • 垂柳

      北京
      回复

      请教一个问题,用以下命令可以将所有打印机(多个打印机)配置导出到一个文件,但是我试了,没有成功,不知道我命令是不是没有用对

      将所有打印机设置存入一个文件:
      rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
      从一个文件还原所有打印机设置:
      rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat"

      • 字符猫

        北京
        回复

        @垂柳 这个命令只能备份一个打印机,如果要一次备份多个打印机配置文件,可以用下面的命令,在printers_list处定义多个打印机名称,通过for命令循环备份单个打印机,备份结果为打印机1.dat、打印机2.dat、打印机3.dat
        @echo off
        setlocal

        REM 配置备份目录
        set backup_dir=C:\打印机备份

        REM 定义要备份的打印机列表
        set printers_list="打印机1" "打印机2" "打印机3"

        REM 备份打印机配置
        for %%i in (%printers_list%) do (
        rundll32 printui.dll,PrintUIEntry /Ss /n "%%~i" /a "%backup_dir%\%%~i.dat"
        )

        echo 所有打印机配置均已备份至 %backup_dir%

        pause

        • 垂柳

          北京
          回复

          @字符猫 首先非常感谢,以上脚本备份打印机成功了,但是恢复的时候依然报错,0x00000709,请问可能是什么问题呢? 我查了一下 替换一个老版本dll文件,替换了也不行

          • 字符猫

            上海
            回复

            @垂柳 709错误?你是Windows 共享打印机???

            • llll

              未知
              回复

              @字符猫 IP直连的打印机,我也是恢复的时候报709

              • 垂柳

                北京
                回复

                @llll 嗯 ip直连的

                • 字符猫

                  上海

                  @垂柳 Windows开始菜单中,“Windows管理工具”下有一个“打印管理”,你可以尝试用这个工具导出、导入打印机

    • 起风了

      浙江
      回复

      大佬请问,我把脚本和驱动文件都放在同一级目录下,这个值set print_drive_dir=oemsetup.inf不行,提示我没找到驱动,我改成了绝对路径,会报错0x00000705这是为何,我没从服务器那边拉驱动啊

      • 字符猫

        上海
        回复

        @起风了 共享打印机还是网络打印机?

        • 起风了

          浙江
          回复

          @字符猫 是网络打印机 大哥 我把那个命令粘出来执行也是错误 rundll32 printui.dll,PrintUIEntry /if /b "Print" /f "C:\Users\HC\Desktop\x86\x64\oemsetup.info" /r "10.0.20.238" /m "RICOH MP 4054 PCL 6" /z 提示我系统找不到指定的文件

    • ≮龍步坊≯

      河北
      回复

      问一下 安装完成 显示脱机状态 系统Windows11 打印机爱普生L310

      • 字符猫

        上海
        回复

        @≮龍步坊≯ 运行rundll32 printui.dll,PrintUIEntry /im,选择“使用IP地址或主机名添加打印机”,根据“添加打印机向导”先测试手动添加是否正常,如果手动添加正常,请检查IP地址以及驱动程序

        • ≮龍步坊≯

          河北
          回复

          @字符猫 手动添加 正常 IP 地址 都是192.168.31.100 再添加 就_1了 应该是 没问题
          驱动程序 都是用的同一个 只是一个用的是《 打印机驱动安装.exe》 一个用的《C:\Users\Administrator\Desktop\新建文件夹\x64\E_WF1N4E.INF》

        • ≮龍步坊≯

          河北
          回复

          @字符猫 《rundll32 printui.dll,PrintUIEntry /ii /f x64\E_WF1N4E.INF 》 用这个安装 也是正常的

          • ≮龍步坊≯

            河北
            回复

            @≮龍步坊≯ rundll32 printui.dll,PrintUIEntry /if /b "EPSON L310 Series" /f "C:\Users\Administrator\Desktop\新建文件夹\x64\E_WF1N4E.INF" /r "192.168.31.100" /m "EPSON L310 Series" /z

            也是脱机状态

    • 安静

      上海
      回复

      如何实现彩色打印机设置黑白和单面打印

      • 字符猫

        上海
        回复

        @安静 设置黑白和单面目前没测试过,好像用DISM++备份出来的驱动可以保留设置,具体自测,最近我也没有时间来研究了,得过了这段时间。

        • 字符猫

          上海
          回复

          @字符猫 刚才试了一下,使用DISM备份出来的驱动在其他电脑上安装还是默认彩色

        • 字符猫

          上海
          回复

          @字符猫 文章已更新,按照下面给出的代码创建一个bat脚本用于备份/恢复打印机配置文件即可 :mrgreen:

          • 垂柳

            北京
            回复

            @字符猫 win11上面和win10企业版LTSC版本测试会报错 0x00000709

          • 花瑜

            广东
            回复

            @字符猫 半年前看了博主的文章弄了批处理安装打印机,很实用。看到博主为打印机首选项发愁,我给个解决方案你。

            打印机驱动设置,例如默认彩色设置,默认单面设置参数是保存在Windows注册表该分支里,单纯备份驱动是不会把默认的首选项设置备份的。
            打印机首选项位置:
            HKEY_CURRENT_USER\Printers\DevModePerUser

            还有一些特殊的设置可以到这里面备份:
            打印机驱动数据:
            HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers

      • 字符猫

        上海
        回复

        @安静 好消息,今天下午研究出来了,备份/恢复打印机配置文件,第一台主机设置成黑白打印,然后备份一下,后面的电脑直接从文件恢复配置就可以实现安装默认黑白了 :mrgreen: 明天空了发出来

    • 安静

      上海
      回复

      提示操作无法完成(0x00000705) 应该是运行到安装inf文件那里报错了,路劲读取到了,请问可能是啥原因

      • 字符猫

        上海
        回复

        @安静 在文章中补充了一下容易出错的地方,你再试着修改一下试试。

    • 飞翔的老车

      河北
      回复

      您好,每次修改打印机IP端口都比较麻烦,请问可以做出提示输入打印机IP的bat对话框么

      • 字符猫

        上海
        回复

        @飞翔的老车 可以的,将地42行注释掉,然后在合适的位置(比如第73 - 75行)添加如下代码,该操作会让你自己输入IP地址,适合局域网内有多个同型号的打印机(驱动不同目前没有做对驱动的判断),另外,打开运行bat脚本后会输出变量%print_IP%的值,根据上述修改后在此处无法正常显示打印机IP地址,将第56行注释掉即可隐藏,如需正常输出,需将下列代码添加至22 - 56行之间。
        set /p print_IP=请输入打印机IP:

    • 蔡蔡

      广东
      回复

      你好,方便加个qq吗,有遇到问题想找你qq:3442544959

    • 祈fado

      上海
      回复

      bat打开界面都正常 运行以后报错0*00000003 系统找不到指定的路径 求解!qq2535168218

      • 字符猫

        上海
        回复

        @祈fado 这种一般都是驱动文件路径错误,检查一下路径有没有问题,代码里用的是相对路径,也可以使用远程路径或绝对路径(不推荐),驱动文件名以.inf结尾的正确驱动文件,可以先手动添加打印机测试是否正确。

    • 昧愛◎癡心

      陕西
      回复

      你好,试了三个型号的打印机驱动安装都失败了