我们的征途是星辰大海

My Conquest Is the Sea of Stars

Batch script delete printers

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

《Batch script delete printers》

代码如下,重点是 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
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据