Принудительная очистка очереди печати в Windows без перезагрузки
Очередь печати в Windows не редко подвисает, причем подвисает довольно основательно, так что обычная, «мягкая» очистка текущей очереди печати принтера из панели управления не помогает. Соответсвенно застрявшие там документы мешают отправке на печать новых файлов.
Конечно, в большинстве случаев проблему решает перезагрузка, однако не всегда есть возможность её выполнить, особенно если это сервер. Сегодня расскажу как принудительно очистить зависшую очередь печати, если она заблокирована системой или драйвером самого принтера без перезагрузки.
Сразу хочу предупредить, что данный способ очистки очереди печати УДАЛЯЕТ ВСЕ ЗАДАНИЯ НА ВСЕХ ПРИНТЕРАХ.
Для начала немного теории. При печати любого документа в Windows, службой печати (Print Spooler) в каталоге спулера %systemroot%\System32\spool\PRINTERS создается два файла: один с расширением .shd (содержит настройки задания печати), второй - .spl (собственно данные, которые нужно распечатать). После успешной печати, эти файлы автоматически удаляются как из этого каталога, так и из очереди печати. Но это в теории, а на практике бывает и по другому, может быть вызвано как ошибками в самом документе, так и ошибками в драйвере... а может звезды сегодня так расположились.
Наглядный пример зависшей очереди печати одного из принтеров (файлы там торчали уже несколько дней):
Перед принудительной очисткой содержимого этой папки (спулера печати), нам следует остановить саму службу печати Windows. Сделать это можно как через «Панель управления компьютером» в соответствующем разделе «Службы» остановив службу «Диспетчер печати», так и из командной строки (естественно запустив её правами администратора):
net stop spooler del %systemroot%\system32\spool\printers\*.shd /F /S /Q del %systemroot%\system32\spool\printers\*.spl /F /S /Q net start spooler
Думаю пояснения особые не нужны - останавливаем службу, удаляем файлы с расширением *.shd и *.spl, далее заново запускаем диспетчер печати. Конечно можно удалить эти файлы просто зайдя в каталог %systemroot%\system32\spool\printers\. Тут уж кому как удобнее.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.