Рассмотрим особенности очистки «подвисшей» очереди печати в системах Windows. Рассмотренная методика позволяет удалить из очереди документы, которые по какой-то причине не печатаются и мешают отправке на печать других файлов и документов.
«Мягкий» способ очистки текущей очереди печати принтера выполняется из окна Панели управления (Control Panel ->Devices and Printers). В списке принтеров нужно найти проблемный принтер, щелкнуть по нему ПКМ и выбрать в меню пункт See what’s printing.
В открывшемся окне управления очередью печати принтера в меню выбираем пункт Printer-> Cancel All Documents . Все документы, в том числе зависшие, должны удалиться из очереди печати принтера.
В том случае, если какие-то документы не удаляются из очереди печати, значит они в данный момент заблокированы системой или драйвером самого принтера. Они пропадут из очереди печати после перезагрузки. Если перезагрузка выполнить проблематично, можно принудительной удалить все задания из очереди службы печати Windows.
Напомним, что при отправке документа на печать на принтер, служба печати Windows (Print Spooler) формирует задание печати и создает два файла: один с расширением .SHD (содержит настройки задания печати), второй — .SPL (хранит собственно данные, которые нужно распечатать). Таким образом, задания печати будут доступны службе печати, даже после закрытия программы, инициировавшей печать. Данные файлы хранятся в каталоге спулера (по умолчанию, «%systemroot%\System32\spool\PRINTERS”). После успешной печати, эти файлы автоматически удаляются из этого каталога, и, соответственно, из очереди печати.
Нам нужно вручную очистить содержимое этой папки, тем самым мы удалим все задания в памяти Print Spooler.
Откройте командную строку с правами администратора и последовательно выполните команды:
net stop spooler
del %systemroot%\system32\spool\printers\*.shd /F /S /Q
del %systemroot%\system32\spool\printers\*.spl /F /S /Q
net start spooler
Этот набор команд последовательно останавливает службу печати Windows, рекурсивно удаляет все файлы с расширениями *.shd и *.spl из каталога %systemroot%\system32\spool\printers и запускает остановленную службу.
Архив с готовым bat файлом можно скать по ссылке reset_spooler.zip (запускать от имени администратора)

Рассмотренные выше методики помогут очистить очередь печати в любой версии Windows, будь то Windows 7, 8 или Windows 10.
Баян же…
День добрый! Еще необходимо удалить все файлы в папке %systemroot%\system32\spool\servers\xxxxx (xxxxx — папка с именем сервера печати локального компьютера). Именно туда ложатся все очереди печати виртуальных принтеров!!!! т.е. команду меняем на:
del %systemroot%\system32\spool\servers\xxxxx\*.shd /F /S /Q
и радуемся жизни после запуска диспетчера печати
Пользуюсь такой «обёрткой» в батниках, чтобы не забывать «включать администратора»:
@echo off
reg.exe query «HKU\S-1-5-19»>nul 2>&1
if %errorlevel% equ 1 goto UACPrompt
net stop spooler
del %systemroot%\system32\spool\printers\*.shd /F /S /Q
del %systemroot%\system32\spool\printers\*.spl /F /S /Q
net start spooler
timeout 10
exit /b
:UACPrompt
mshta «vbscript:CreateObject(«Shell.Application»).ShellExecute(«%~fs0», «», «», «runas», 1) & Close()»
exit /b
Спасибо, идея проверки наличия прав администратора ясна 🙂
Возьму на вооружение
Спасибо, сразу помогло, а то постоянно долблюсь если доки застряли в очереди печати,
Доброго дня.
Есть ли возможность сортировать очередь печати в зависимости от лотка бумаги?
Добрый день.
Встроенно точно нельзя, если только какой-то вендор предоставляет ПО или API для взаимодействия с принтером через драйвер.
в статье ошибка, в этой строке: «Архив с готовым bat файлом можно скать по ссылке»
да будет вам, 4 строки сами напишите.
Спасибо тебе , всемогущий!