@echo off & setlocal enableextensions
echo +----------------------------------------------------+
echo ^| CLRSPOOL.CMD Stop and reset print spooler ^|
echo ^| By Prof. Timo Salmi, Last modified Sun 29-Jan-2006 ^|
echo +----------------------------------------------------+
::
if "%~1"=="?" goto _usage
if "%~1"=="/?" goto _usage
::
:: The path to the spooler files
set spool_=C:\WINDOWS\system32\spool\PRINTERS
::
:: Spool contents
dir "%spool_%"
echo.
::
:: Ask for confirmation
:_ask
set ask_=
set /p ask_="Reset the print spooler [Y/n]?"
if /i "%ask_%"=="n" goto _out
if /i not "%ask_%"=="y" if not "%ask_%"=="" goto _ask
::
:: Clear the spooler
:: If you get "System error 5 has occurred / Access is denied"
:: then "Run as administrator"
net stop spooler
for %%f in ("%spool_%\
*.*") do (
if exist
"%%f
" del
"%%f
"
)
net start spooler
dir "%spool_%"
:: See FAQ item #2 for an explanation of the next line
if not defined cmdbox if defined PauseIfFromDesktop pause
goto _out
::
:_usage
echo.
echo Usage: DELSPOOL
echo.
echo High enough user privileges are required to complete this task.
echo Else the net stop/start commands will just produce error messages.
goto _out
::
:_out
endlocal & goto :EOF
cscript "C:\WINDOWS\system32\prnqctl.vbs"
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnqctl.vbs"