![]() |
La libreria winshell è un piccolo gioiello per chi sviluppa su sistemi Windows. Consente di automatizzare diverse operazioni comuni e noiose come interagire con il Cestino, gestire collegamenti (shortcut), pulire cartelle temporanee e navigare in percorsi speciali del sistema come Desktop e Start Menu.
In questo articolo vedremo 5 usi concreti e automatizzabili con esempi pratici per migliorare la gestione del sistema e la produttività con Python.
🔧 Requisiti
Installa la libreria con:
pip install winshell
⚠️ Funziona solo su Windows, con Python 3.5 o superiore.
1. 🧹 Svuotare automaticamente il Cestino di Windows
Perché è utile?
Con il tempo il Cestino può accumulare gigabyte di file inutili. Automatizzare la sua pulizia ti permette di mantenere il sistema più snello e ordinato.
Codice Python:
import winshell
# Svuota il cestino senza conferma e con un suono di completamento
winshell.recycle_bin().empty(
confirm=False, # Nessuna finestra di conferma
show_progress=False, # Non mostrare la barra di avanzamento
sound=True # Suona un "ding" al termine
)
2. 🔖 Creare shortcut (collegamenti) sul desktop
Perché è utile?
Automatizzare la creazione di collegamenti può essere molto utile per:
- distribuire script Python con un’icona sul desktop
- creare setup iniziali per ambienti di lavoro
- configurare collegamenti a tool interni
Codice Python:
import winshell
# Ottieni il percorso del Desktop dell’utente attuale
desktop = winshell.desktop()
# Crea il collegamento "BloccoNote.lnk" sul desktop
shortcut_path = f"{desktop}\\BloccoNote.lnk"
shortcut = winshell.shortcut(shortcut_path)
# Definisci il percorso dell'eseguibile e scrivi il collegamento
shortcut.path = r"C:\Windows\System32\notepad.exe"
shortcut.write()
print("Shortcut creato con successo!")
3. 🗂️ Navigare tra percorsi speciali di Windows (Desktop, Start Menu, ecc.)
Perché è utile?
Windows usa molte cartelle "speciali" (Desktop, Start Menu, AppData...) che possono cambiare in base all’utente. Con winshell puoi accedere in modo sicuro e dinamico a queste directory, senza hardcodare i percorsi.
Esempio pratico:
import winshell
print("Desktop:", winshell.desktop())
print("Menu Start:", winshell.start_menu())
print("Documenti:", winshell.my_documents())
print("Cartella Temp:", winshell.temp())
Possibili usi:
-
script che cercano file sul desktop
-
salvataggi automatici nei documenti
-
installazione di shortcut nel menu start
-
pulizia della cartella temporanea
4. 🧼 Pulizia automatica dei file temporanei dell’utente
Perché è utile?
I file temporanei si accumulano nel tempo e occupano spazio. Automatizzare la loro eliminazione è una forma leggera ma utile di manutenzione del sistema.
Codice per spostare i file nel cestino:
import os
import winshell
# Ottieni la cartella Temp dell'utente
temp_dir = winshell.temp()
# Scansiona e sposta i file nel cestino
for file in os.listdir(temp_dir):
file_path = os.path.join(temp_dir, file)
try:
if os.path.isfile(file_path):
winshell.delete_file(file_path, send_to_recycle=True)
print(f"Inviato al cestino: {file}")
except Exception as e:
print(f"Errore su {file}: {e}")
5. 🔎 Cercare file specifici sul Desktop
Perché è utile?
Hai mai dimenticato dove hai salvato quel file .pdf o .xlsx? Uno script di ricerca sul Desktop può aiutarti a trovare rapidamente file per tipo, nome o data.
Esempio: cercare tutti i file .pdf sul Desktop
import os
import winshell
desktop = winshell.desktop()
estensione = ".pdf"
print(f"File con estensione {estensione} trovati sul Desktop:\n")
for nome_file in os.listdir(desktop):
percorso_file = os.path.join(desktop, nome_file)
if os.path.isfile(percorso_file) and nome_file.lower().endswith(estensione):
print("-", nome_file)
Possibili estensioni da cercare:
.txtper appunti.jpgo.pngper immagini.pyper script Python.docxper documenti
Puoi anche estendere lo script per ordinare i file per data, copiarli altrove, o elencarli in una GUI.
🔚 Conclusione
La libreria winshell offre strumenti semplici ma potenti per:
| Funzione | Utilizzo |
|---|---|
| 🧹 Svuotare il Cestino | Manutenzione automatica |
| 🔖 Shortcut | Collegamenti intelligenti |
| 🗂️ Percorsi speciali | Script compatibili con ogni utente |
| 🧼 Pulizia file temp | Leggerezza del sistema |
| 🔎 Ricerca file | Produttività personale |
Con pochi script puoi semplificarti la vita, mantenere il PC pulito e risparmiare tempo.
Follow me #techelopment
Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment
