发布网友
共2个回答
热心网友
@echo offrem 删除指定打印机set #=Any question&set @=WX/&set $=Q&set/az=0x53b7e0b4title %#% +%@%%$%%$% %z%cd /d "%~dp0">"%tmp%\j.j" echo;while(!WSH.StdIn.AtEndOfStream){WSH.echo(WSH.StdIn.ReadLine().replace(/\s*$/,''))};set "comm=wmic path win32_printer get name /value"for /f "tokens=1,2* delims=:=" %%a in ('%comm%^|find "="^|cscript -nologo -e:jscript "%tmp%\j.j"^|findstr /n .') do ( set "#%%a=%%c" echo;%%a、%%c)set /p c=输入要删除的打印机前的数字编号:if defined #%c% ( setlocal enabledelayedexpansion echo;"!#%c%!"|>nul find "\"&&( rundll32 printui.dll,PrintUIEntry /n "!#%c%!" /dn /q )||( rundll32 printui.dll,PrintUIEntry /n "!#%c%!" /dl /q ) endlocal)echo;%#% +%@%%$%%$% %z%pause
热心网友
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 删除指定名称的打印机
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "printername=Microsoft XPS Document Writer"
call :delprint "%printername%"
echo;%#% +%$%%$%/%@% %z%
pause
exit
:delprint
wmic printer get Name /value|find /i "=%~1"||(echo;"%~1" 未找到&goto break)
rundll32 printui.dll,PrintUIEntry /n "%~1" /dl
wmic printer where "Name='%~1'" delete
:break
exit/b