Примусова очищення черги друку в Windows

Розглянемо особливості очищення "підвішеному" черги друку в системах Windows. Розглянута методика дозволяє видалити з черги документи, які з якоїсь причини не друкуються і заважають відправці на друк інших файлів і документів.

"М'який" спосіб очищення поточної черги друку принтера виконується з вікна Панелі управління (Control Panel -> Devices and Printers). У списку принтерів потрібно знайти проблемний принтер, клацнути по ньому ПКМ і вибрати в меню пункт See what's printing.

У вікні управління чергою друку принтера в меню вибираємо пункт Printer-> Cancel All Documents . Всі документи, в тому числі завислі, повинні піти з черги друку принтера.

У тому випадку, якщо якісь документи не видаляються з черги друку, значить вони в даний момент заблоковані системою або драйвером самого принтера. Вони пропадуть з черги друку після перезавантаження. Якщо перезавантаження виконати проблематично, можна примусової видалити всі завдання з черги служби друку Windows.

важливо. Наведена нижче методика очищення черги друку видаляє ВСІ наявні завдання друку на ВСІХ принтерах системи. Це потрібно мати на увазі, особливо при очищенні зависла черзі друку на виділеному принт-сервері на базі 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 (Запускати від імені адміністратора)

Примітка. У тому випадку, якщо скрипт не працює, перевірте, що у властивостях принт-сервера (Панель управління -> Devices and Printers -> кнопка Print Server Properties в верхньому меню -> вкладка Advanced -> в полі Spool folder location вказано каталог C: \ windows \ system32 \ spool \ Printers. У 99% випадків це повинно бути так. Якщо шлях до каталогу спулера відрізняється, потрібно буде поправити шлях до нього в скрипті.

Розглянуті вище методики допоможуть очистити чергу друку в будь-якої версії Windows, будь то Windows 7, 8 або Windows 10.