Czyszczenie bufora wydruku (spoolera)
Ostatnimi czasy wielokrotnie zdarzyło mi się przyjmować wyzwania jakie rzucają drukarki, zaczynając od prostej atramentówki biurowej kończąc na korporacyjnych „kombajnach do drukowania”. Były to problemy z drukowaniem wynikające z różnych czynników, które skutecznie blokują nasz oczekiwany wydruk. Owe problemy mogą objawiać się w postaci braku papieru w drukarce, zacięciem papieru w rolkach, niewyjaśnionym pojawieniem się czynnika zewnętrznego skutecznie blokującego czujniki, błędy systemowe czy też niespodziewany zanik prądu (niekoniecznie z powodu niezapłaconej faktury :)), kończąc na ekstremalnym wybuchu fusera (przyznam, że ten ostatni na prawdę skutecznie blokuje użytkowników przed drukowaniem).
W wielu przypadkach należy wyczyścić bufor wydruku. Przeglądamy listę oczekujących dokumentów i usuwamy zalegające. Proste prawda? A co jeśli i to nie pomaga? Usuwamy, a pomimo wszystko dokumenty dalej zalegają, nam zależy na czasie i wydruku, a drukarka nie wykazuje inicjatywy?
Przystępujemy więc do działania. Pokażę Wam jak w prostym skrypcie możemy szybko i skutecznie to zrobić:
Uruchamiamy Konsolę CMD, zatrzymujemy usługę Bufora wydruku, do tego celu użyjemy polecenia net służącym do zarządzania usługami:
net stop spooler
Teraz przystępujemy do oczyszczania naszego Spoolera drukarki. Odwołamy się do tego prostym poleceniem del, podając jednocześnie lokalizację dla Spoolera, czyli:
del /q /f /s „%systemroot%\system32\spool\PRINTERS\*.*”
Polecenie ma zaimplementowane następujące flagi:
-q – cichy tryb nie żąda potwierdzenia usunięcia,
-f – wymusza usuwanie plików tylko do odczytu,
-s – usuwa określone pliki ze wszystkich podkatalogów,
W podanej ścieżce widać dwie gwiazdki, które stanowią o usuwaniu wszystkich plików z folderu.
Włączamy ponownie naszą usługę spoolowania:
net start spooler
Od teraz drukarka posłusznie będzie drukować dla nas to czego zapragniemy. Posiadając zaplecze poleceń, napiszmy sobie przykładowy skrypt, który jednym kliknięciem zdejmie fatum z drukarki.
title Czyszczenie Spoolera Drukarki
echo Czyszczenie bufora wydruku.
net stop spooler
echo Uno momento, usuwam zalegające dokumenty. 🙂
del /q /f /s „%systemroot%\system32\spool\PRINTERS\*.*”
net start spooler
echo Finish
Skrypt możemy wykonywać zdalnie na maszynach używając do tego opisywanych wcześniej narzędzi PSTools.
Mam nadzieję, że przyda Wam się w batalii z drukarkami, tym samym niosąc szybką pomoc dla Użytkowników. Zachęcam do dzielenia się informacjami, jak Wy sobie radzicie w sytuacjach kiedy drukarka się zaczyna buntować
Poszukuję info, jak kontrolować ilość i z jakich drukarek Windows wykonuje drukowanie i ile drukuje stron
kazda z uzytych drukarek, aby porownać koszty drukowania i wydajnosci atramentu
Poza tym zauwazyóem „byka”:
„na prawdę” pisze się razem: naprawdę.
Przyganiał kocioł garnkowi; literówka w moim poście: zauważyłem 🙂
Te komendy obsługi windowsa stają się gorsze od komend linuksa. w linuksie można poczytać o przełącznikach w manualu a w windowsie coraz częściej się grzebie w jakichś magicznych cyferko-literkowych tekstach……….. a to czyszczenie bufora wygląda tak prosto jak elementarz
Arek, dla pewności podsylam Ci artykulik o pomocy do poleceń CMD i Powershell w Windowsie. Nie do końca zrozumiałem o jakich „cyferko-literkowych tekstach” mówisz 🙂
http://spece.it/windows-serwer-artykuly/pomoc-polecen-powershell-cmd-cos-poczatkujacych
Odkopię trupa, a co…
Bardzo fajny skrypcik, sam tak robię, ale… bezużyteczny dla zwykłego użytkownika. „net stop” w Win7 i wyżej wymaga podniesienia uprawnień, o czym Autor nie wspomniał.
a czy jest możliwość, jeśli jest to w jaki sposób wyczyścić zadanie z konkretnej drukarki zainstalowanej na serwerze poprzez polecenia PS z lokalnego komputera