上周有个小的需求,依样画葫芦写了一个比较有趣的按需删除打印机的批处理脚本,这里记录一下,里面加了一个菜单选择。前台可见部分效果看似很帅,其实不可见部分执行的是一行行删除项:)

代码如下,重点是 2段 ,wmic printer get Name /value 和 rundll32 printui.dll,PrintUIEntry ,这2小段才是真正起作用的脚本,各菜单顺便做了一个颜色区分:)其他都是装饰了
@echo off
::============================================================================================================================
:: 设置脚本的标题;颜色 [Background][Text] in hex (0 to F)
title 按需删除各楼层多余打印机 "wanjie" [2019-07-29]
color 2B
:MENU
ECHO.
ECHO.=-=-=-=-=删除各楼层打印机 Powered by Wanjie=-=-=-=-=
ECHO.
ECHO 1:删除39楼打印机
ECHO 2:删除41楼打印机
ECHO 3:删除42楼打印机
ECHO 4:删除43楼打印机
ECHO 5:查看现有打印机
ECHO 6:退出
ECHO.
ECHO.
ECHO.
echo. 请输入选择楼层的序号后回车:
set /p M=Type 1, 2, 3, 4, 5 or 6 then press ENTER:
IF %M%==1 GOTO Del39
IF %M%==2 goto Del41
IF %M%==3 goto Del42
IF %M%==4 goto Del43
IF %M%==5 goto ListPrint
IF "%M%"=="6"exit
PAUSE
:Del39
color 08
echo. 执行命令1-删除39楼打印机
set "打印机名39=SHARP [email protected]"
wmic printer get Name /value|find /i "%打印机名39%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名39%" /dl
)
echo; 执行命令1-删除39楼打印机
goto MENU
:Del41
color 09
echo 执行命令2-删除41楼打印机
set "打印机名41=SHARP [email protected]"
wmic printer get Name /value|find /i "%打印机名41%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名41%" /dl
)
echo; 执行命令2-删除41楼打印机
GOTO MENU
:Del42
color 0A
echo 执行命令3-删除42楼打印机
set "打印机名4201=SHARP [email protected]"
wmic printer get Name /value|find /i "%打印机名4201%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4201%" /dl
)
set "打印机名4202=Canon [email protected]茶水间左"
wmic printer get Name /value|find /i "%打印机名4202%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4202%" /dl
)
echo;执行命令3-删除42楼打印机
GOTO MENU
:Del43
color 0B
set "打印机名4301=SHARP [email protected]"
wmic printer get Name /value|find /i "%打印机名4301%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4301%" /dl
)
set "打印机名4302=HP577彩色@4301"
wmic printer get Name /value|find /i "%打印机名4302%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4302%" /dl
)
set "打印机名4303=HP577彩色@Room4320"
wmic printer get Name /value|find /i "%打印机名4303%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4303%" /dl
)
set "打印机名4304=HP4525彩色@F4338"
wmic printer get Name /value|find /i "%打印机名4304%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4304%" /dl
)
set "打印机名4305=Canon LBP6670黑白@Room4320"
wmic printer get Name /value|find /i "%打印机名4305%"&&(
rundll32 printui.dll,PrintUIEntry /n"%打印机名4305%" /dl
)
echo;执行命令4-删除43楼打印机
GOTO MENU
:ListPrint
color 0C
wmic printer get Name /value
:cmd6
echo 执行命令6-退出菜单
GOTO MENU
文章评论