一键处理打印机因任务不能取消,无法接着打印

最近写了一个小脚本,在公司里有时还是有用的

::code

@echo off 
title 一键处理打印机因任务不能取消,无法接着打印。 Power BY AK47--DATA:2010-03-31
set serverName="Spooler"

:query
for /f "skip=3 tokens=4" %%i in ('sc query %serverName%') do set "zt=%%i" &goto :next 
:next 
if /i "%zt%"=="RUNNING" goto show1
if /i "%zt%"=="stopped" goto show2

:e
exit

:show1
echo -------------------------------------------------------
echo -          已经发现该服务在运行...                  -
echo -        输入数字1处理打印卡死的状况..       -
echo -        输入其他任何键进行取消处理!..     -
echo -------------------------------------------------------
set /p input=请输入有效的操作代号,并按回车确认 :
if %input%==1 goto handle
goto :e

:show2
echo -------------------------------------------------------
echo -          已经发现该服务已停止...                   -
echo -        正在处理打印机服务的恢复的状况.. -
echo -------------------------------------------------------
net start %serverName%
msg * 管理员提示你: 你的打印卡死情况已处理完了,你可以再进行其他事情了
goto :e


:handle
echo -------------------------------------------------------
echo -             正在处理打印问题......                -
echo -------------------------------------------------------
net stop %serverName% 
del /f /s /q C:\WINDOWS\system32\spool\PRINTERS\*.*
goto query

可把上面的代码复制保存到printServer.bat,处理效率还是可以的

http://hi.baidu.com/vbz007/blog/item/0234b5d335977538970a16db.html

原文地址:https://www.cnblogs.com/sunsoft/p/1966294.html