
批处理连接局域网内的共享打印机 15
现状:很多工作站,每个工作站有20台左右电脑,所有电脑密码相同,其中2台电脑分别插着两种不同型号的USB打印机,电脑计算机名不确定,IP地址是自动分配的。需求:写一个批处...
现状:很多工作站,每个工作站有20台左右电脑,所有电脑密码相同,其中2台电脑分别插着两种不同型号的USB打印机,电脑计算机名不确定,IP地址是自动分配的。
需求:写一个批处理,只要运行一下,就能识别出工作站里哪个电脑插着打印机,然后按照计算机名连接共享打印机。
PS:就是让“ rundll32 printui.dll,PrintUIEntry /in /n \\计算机名\打印机名 ”这个语句类似的,把计算机名写成能够自动识别的那种。
自问自答:
@echo off&color 1f&rem num=10 nums=20
mode con: cols=60 lines=25
:begin
cls
echo + 1.连接HPOffice彩色打印机
echo + 2.连接CannoniR1黑白打印机
echo + 3.退出程序
echo +
set /p ans= 输入数字:
if %ans%==1 goto CanoniR1
if %ans%==2 goto HPOffice
if %ans%==3 goto end
:CanoniR1
set "printername=CanoniR1"
ECHO.正在连接%printername%打印机,请稍等
goto pnt
:HPOffice
set "printername=HPOffice"
ECHO.正在连接%printername%打印机,请稍等
goto pnt
:pnt
for /f "tokens=1" %%i in ('net view ^| find "\\"') do (
net view %%i 2>nul | find "%printername%"&&rundll32 printui.dll,PrintUIEntry /in /n \\%%~ni\%printername%&&echo 已经成功连接到位于%%~ni的%printername%打印机
)
goto begin
:end 展开
需求:写一个批处理,只要运行一下,就能识别出工作站里哪个电脑插着打印机,然后按照计算机名连接共享打印机。
PS:就是让“ rundll32 printui.dll,PrintUIEntry /in /n \\计算机名\打印机名 ”这个语句类似的,把计算机名写成能够自动识别的那种。
自问自答:
@echo off&color 1f&rem num=10 nums=20
mode con: cols=60 lines=25
:begin
cls
echo + 1.连接HPOffice彩色打印机
echo + 2.连接CannoniR1黑白打印机
echo + 3.退出程序
echo +
set /p ans= 输入数字:
if %ans%==1 goto CanoniR1
if %ans%==2 goto HPOffice
if %ans%==3 goto end
:CanoniR1
set "printername=CanoniR1"
ECHO.正在连接%printername%打印机,请稍等
goto pnt
:HPOffice
set "printername=HPOffice"
ECHO.正在连接%printername%打印机,请稍等
goto pnt
:pnt
for /f "tokens=1" %%i in ('net view ^| find "\\"') do (
net view %%i 2>nul | find "%printername%"&&rundll32 printui.dll,PrintUIEntry /in /n \\%%~ni\%printername%&&echo 已经成功连接到位于%%~ni的%printername%打印机
)
goto begin
:end 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询