最近写了一个小脚本,在公司里有时还是有用的
::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