Fermiamo quelle stampe. Fatto!

22 Maggio 2008 1 di Elvio

Nei sistemi operativi Microsoft su base Nuova Tecnologia (tipo win NT, win 2000, win XP e Vista), i dati di stampa sono immagazzinati nel Print Spooler, che provvede poi a rilasciarli progressivamente nel corso del processo di stampa. Il print spooler è un sistema informatico con la funzione di memorizzare, secondo una logica FIFO (i primi dati in entrata saranno primi in uscita), le stampe degli utenti ed inviarle alla stampante appena questa è disponibile. Nelle stampe via LAN, nel momento in cui viene impartita la stampa, la stazione che invia il lavoro crede di stampare sull’unità di uscita, ma in realtà va a scrivere (molto più velocemente) i dati, su l’unità a cui è connessa la stampante. I dati di stampa sono così immagazzinati ed accodati nel Print Spooler, che provvederà poi a rilasciarli progressivamente nel corso del processo di stampa. Questo sistema permette agli sviluppatori degli applicativi di non doversi preoccupare di eventuali conflitti sulla stampante per via di altri processi, dato che il Print Spooler accetterà qualsisi documento e farà sembrare ad ogni processo, la stampante sempre libera. Va da sè che, una ampia coda di stampa rimane in essere fino a che il processo non viene totalmente completato. Quindi, anche se spegniamo tutte le macchine e le riaccendiamo, avremo la continuazione della stampa dal punto in cui la abbiamo interrotta. D’altra parte interrompere o annullare un processo già memorizzato non è facile e questo protrebbe essere un problema se il lavoro deve essere sospeso o abbiamo bisogno di liberare la stampante per un processo più urgente. Come fare? Nei sistemi operativi sopracitati è piuttosto difficiile (per utenti poco pratici) cancellare i processi di stampa già accodati ed allora li si lascia scorrere perdendo tempo, carta ed inchiostri fino a che il processo non è completato.

C’è un soluzione semplicissima che ognuno di noi può costruirsi da sè (tanto da fare invidia ai vostri colleghi) in pochi passi. Si tratta di costruire una semplice procedura (file batch) che automatizza l’esecuzione di pochi comandi dos per la chiusura, la cancellazione e la riapertura del servizio di print spooler del nostro PC.

Seguitemi che è facilissimo:

1) prendete un normale editor di testo ASCII (va bene il blocco note di windows che trovate su Start – Programmi – Accessori – Blocco Note) e battete queste 5 righe così come le trovate (potete usare anche il copia e incolla)

@echo off

net stop spooler

del /q “%SystemRoot%system32spoolPRINTERS*.*”

net start spooler

ping localhost -n 5 > nul

2) Salvate il file sulla posizione desktop con il nome Pulisci_Stampa.bat

Se avete fatto tutto bene, troverete un’icona sul vostro destop come nella figura a destra ed il lavoro è finito. Ogni volta che avrete bisogno di fermare delle stampe che si riversano nel vostro PC, basta cliccare sull’icona appena costruita e, miracolosamente, la stampa e tutte le sue code, verranno eliminate.

FATE ATTENZIONE: 1) il programmino va istallato solo sui PC ove sono attaccate una o più stampanti (negli altri non produce effetti)

2) una volta lanciato, tutte (e dico tutte) le code di tutte (e dico tutte) le stampanti verranno azzerate, quindi occhio a quelle macchine che hanno più stampanti e c’è già un lavoro in fase di stampa perché verrà inesorabilmente troncato.

Al suo lancio: si aprirà una finestra nera (quella del DOS), verranno eseguiti i 5 comandi impartiti, il sistema darà le sue risposte di completamento, quindi la finestra si chiuderà. Tranquilli se compaiono segnalazioni di errore e la stampa non si riattiva per errori di sintassi, potete correggere e riprovare, alla peggio basta spegnere e riaccendere il sistema e tutto torna come prima.

Se invece il programmino vi funziona, potete automatizzarne l’esecuzione ad ogni accensione inserendo l’iconcina con l’ingranaggio, sulla cartella esecuzione automatica, così che non vi troverete, la mattina, con i soliti residui di stampa della sera che, ormai, non servono più.

Un saluto