How-To Geek
How to Cancel or Delete a Stuck Print Job in the Windows Print Queue

If you tried to print, but the job just got stuck in the queue without being able to cancel it, you’re experiencing a stuck print job. There’s a simple way to clear out the print queue, but it’s not always the most obvious thing. Here’s how to do it.
Note: we encountered this problem earlier today but forgot to take a screenshot of the print queue with a stuck job, so we substituted with a picture of a regular job sitting in the queue.
Clearing a Stuck Print Job in Windows
The first thing you’re going to want to do is open up Services through the start menu search, find Print Spooler in the list, and click the Stop button.


Now open up Windows Explorer and put this into the location bar:
%windir%\System32\spool\PRINTERS
You might be prompted for UAC to allow access to the folder, which you’ll want to accept. Now you’ll see a bunch of files in the folder, and you’re going to want to delete all of them. Don’t delete the PRINTERS folder itself, just the files.


Now go back to Services and click the Start button to start up the service again.


At this point your stuck print job should be gone.
Got Feedback? Join the discussion at discuss.howtogeek.com
Comments (23)
Programmer by day, geek by night, The Geek, also known as Lowell Heddings, spends all his free time bringing you fresh geekery on a daily basis. You can follow him on Google+ if you'd like.
- Published 12/15/11




Great tip. Thanks!
Now THIS is useful. Nice!
i have a batch taken from lifehacker to do just that
but this is something to be careful with since the spool server has a temper of it own
@echo off
echo Stopping Spooler
echo.
net stop spooler
echo Deleting Stuff
echo.
del “%systemroot%\system32\spool\printers\*.shd”
del “%systemroot%\system32\spool\printers\*.spl”
echo Restarting Spooler.
echo.
net start spooler
Good find HTG
I’ve been using the free program Stalled Printer Repair by Jason Von Ruden. I’ve used it for some time now and it works great.
http://www.fantasticfreeware.com/index.php/applications/stalled-printer-repair/
Here’s an article from Lifehacker about a small utility to do the trick:
http://lifehacker.com/5500684/stalled-printer-repair-cancels-print-jobs-without-waiting-years-no-batch-file-required
I use a simpler way. First, stop/cancel the print job in the queue. Then turn the printer off and on, and the stuck job vanishes. This works beautifully on Windows XP, not sure if applicable to later versions
Sreenadh, tsk tsk tsk
You know better than that…we geeks need a process that draws “Ohhhh, ahhhh” from the Computer user sheeple! Called job security :)
@Orejano
I am not really familiar with batch files but I am comfortable tinkering with them. I copy and pasted the text into N++ and then saved it as a .bat. When I ran it, it said the volume or directory was incorrect. So I hunted down the path in your post, I had to add Windows to the path. I ran it again and still got the same error.
Then I saw that HTG had %windir% and so I changed that from your original post. Still no joy.
Everything else in your post worked for me.
I have Win 7 Pro. Not sure if the directory structure is different or what.
The Unspoken
Since no user has Admin right, I ask them to 1) Power off printer, 2) Restart computer, 3) Delete print jobs, 4) Verify print jobs are deleted, 5) Power on printer and print a test page.
But is restarting the computer needed? I never have to do that. Just turning printer off seems to clear out the stuck jobs from the queue. (with apologies to JT for an insufficiently geeky solution!)
I use Stalled Printer Repair, a utility from FantasticFreeware.com. It is simple to use and works beautifully.
very useful tnx!
For XP users, I have a similar batch file, but much simpler. And it has worked every time.
Power off the printer.
create the batch file below, saved at .bat file. (We named ours KillQueue.bat)
net stop spooler
del c:\windows\system32\spool\printers\*.shd
del c:\windows\system32\spool\printers\*.spl
net start spooler
Power on the printer, your print queue should be empty (be sure to Refresh)
For those creating batch files. Save a line and del c:\%winroot%\system32\spool\printers\*.* There shouldn’t be anything in that folder besides print jobs, thus all can be deleted.
This happens to me on the odd occasion, and deleting it sometimes works and sometimes not, resulting in rebooting system. This idea is better than my way, so thanks for the tip.
I got lost at the first step, the search for services. I entered ‘SERVICES’ in the search field, but nothing comes up. Can anyone help me?
TIA
Chang
Great !!!!!!!!! I’ve been searching about it since long time ago….
@Sreenadh – The restarting is needed. For some reasons, when a print job which is originated from a Terminal Server stuck, you cannot just clear it by turning the printer on and off.
I like using a batch file to clear out my print queue.
Here is my version of a batch file.
Rem Stop the print spooler service
@echo off
echo Stopping Print Spooler
net stop spooler
echo
if errorlevel 1 echo error: Could not stop spooler.
echo
echo Erasing junk printer files
del /Q /F /S “%systemroot%\System32\Spool\Printers\*.*”
echo Done!!
Rem Restart the print spooler
echo Restarting Print Spooler
echo
net start spooler
if errorlevel 1 goto nospoolerstart
echo
echo Try printing again
echo
echo Press any key to exit
Pause
exit
Since I use only Windows 7, will this batch file work on other versions I don’t know. Major note, you have to run the CMD by right click and run as administrator or the batch will error out.
:nospoolerstart
echo error: could not start the spooler, something wrong.
Seach internt for Print Flush – 1.3 – By Brad Kovach. Best little utility that works every time!
Great tip.Thanks :-)
I use a small portable utility Stalled Printer Repair from FantasticFreeware.com It fixes all stalled print jobs (which I had a lot of – now no more) without any fuss or bother. Just does it. Great!