﻿titolo:CancellaFileNasoSan
descrizione:Strumento per Windows che elimina o sblocca file e cartelle bloccati (sostituisce Unlocker/File Locksmith). Tenta 16 metodi in sequenza, dal meno al piu' invasivo. Si installa da solo nel menu tasto destro (Cancella, Sblocca, Aggiungi a lista batch, Esegui lista, Log, Gestisci). Modalita' batch per piu' elementi insieme, con eventuale riavvio automatico per i casi piu' difficili.
linguaggio:PowerShell
nota:
novita:
v0.118 — 12/10/2026
- corretto bug reale: cancellando un file ancora in uso (es. un installer con la finestra aperta) il programma poteva bloccarsi per minuti sul passo "chiusura handle aperti", con la finestra congelata e il tasto Annulla che non rispondeva; ora quel passo non blocca piu' l'interfaccia, la finestra resta reattiva e Annulla interrompe davvero i tentativi
v0.117 — 22/09/2026
- corretto bug reale: il "metodo 4" (eliminazione tramite API di sistema) poteva dichiarare "cancellato" mentre il file o la cartella restava sul disco; ora verifica davvero che l'elemento sia sparito prima di considerare riuscita l'operazione
- corretto bug reale: le cartelle con punti o spazi finali nel nome (che Esplora risorse non riesce nemmeno ad aprire) ora vengono viste, selezionate ed eliminate correttamente, usando percorsi estesi che evitano la "pulizia" automatica del nome fatta da Windows
- corretto bug reale: il Log restava sempre con una sola voce nonostante i molti tentativi; causa un errore interno di salvataggio quando il file conteneva una sola riga, che azzerava di fatto gli aggiornamenti successivi; ora il registro cresce correttamente e resta un elenco valido
v0.113 — 18/09/2026
- sicurezza: l'eliminazione come utente di sistema (metodo avanzato) ora gestisce correttamente i nomi di file con l'apice (es. "foto di mamma's.jpg"), che prima potevano far fallire o alterare il comando eseguito con i massimi privilegi
- sicurezza: la chiusura forzata dei file bloccati ora riconosce con precisione il file esatto (unita' compresa) e il programma proprietario reale, evitando di agire su un file o un processo sbagliato su un'altra unita'
- i metodi piu' invasivi (rimozione punti di ripristino, smontaggio unita', eliminazione come sistema) non vengono piu' eseguiti in automatico: ora chiedono una conferma esplicita e, nelle elaborazioni non presidiate (batch), vengono saltati
- eliminazione via WMI: ora funziona anche con i file che hanno l'apice nel nome
- svuotamento cartella "a specchio": bloccato sulle radici di unita' e sui collegamenti/giunzioni, per non azzerare per errore un intero disco o cartelle esterne
- presa di possesso permessi: reso indipendente dalla lingua di Windows (prima poteva bloccarsi sui sistemi non in italiano)
- disinstallazione: rimuove solo i file propri del programma e lascia intatte le risorse condivise con gli altri strumenti NasoSan (lanciatore, icona, cartella dati con log/impostazioni altrui); le cartelle vengono eliminate solo se restano vuote
- eliminazione al riavvio: ora gestisce anche le cartelle non vuote (rimozione ricorsiva del contenuto), senza seguire i collegamenti verso altre posizioni
- Safe Mode: la modalita' provvisoria viene sempre disattivata a fine procedura (niente rischio di riavvii ciclici) e il riavvio automatico avviene solo se il proseguimento del lavoro e' stato davvero pianificato
- finestra Impostazioni: ora mostra anch'essa il piede firma; aggiunto il nome dell'app accanto al logo in alto; guida "?" trasformata in sezioni a fisarmonica apribili; differenziati due colori dell'interfaccia prima identici
- l'installazione non risulta piu' fallita se manca solo lo scaricamento di PsExec (rete assente): il programma resta comunque installato e funzionante
- vari miglioramenti di robustezza: file di configurazione e liste piu' resistenti a dati vuoti o danneggiati, file JSON salvati senza marcatore iniziale, chiusura corretta delle risorse (registro, immagini, finestre) anche in caso di errore, lettura della versione protetta
v0.108 — 17/09/2026
- corretto bug reale (segnalato dal vivo): durante l'elaborazione dei tentativi la finestra Azioni restava completamente bloccata, non si poteva spostare, ridimensionare ne' ridurre a icona; causa reale, per ogni singolo tentativo (fino a 12 per file, per ogni file del batch) il motore interno che esegue i metodi veniva ricostruito da zero copiandoci circa 130 funzioni e riaperto, un'operazione pesante di uno o due secondi che congelava la finestra a ripetizione; ora quel motore viene creato una sola volta e riutilizzato per tutti i tentativi, cosi' la finestra resta reattiva e riducibile a icona anche mentre elabora
v0.107 — 16/09/2026
- aggiunto il piede firma (Analyst NasoSan / Dev Claude AI / versione / licenza CC BY 4.0 - nasosan.it) in fondo a tutte le finestre del programma, tranne Impostazioni che riporta gia' i crediti nel proprio blocco
- rimossa una diagnostica temporanea interna sul conto alla rovescia delle finestre di esito, non piu' necessaria una volta confermato che il bug della chiusura anticipata era risolto (nessun cambiamento visibile)
v0.101 — 07/09/2026
- corretto bug reale (segnalato dal vivo): dopo la correzione precedente, la colonna Elimina nella finestra Lista batch risultava completamente vuota (ne' quadratino di spunta ne' testo); causa reale, il disegno del quadratino non vedeva piu' quali colonne dovevano averlo perche' quell'informazione andava persa non appena la finestra veniva ridisegnata
- corretto bug reale (segnalato dal vivo con screenshot): la riparazione dava errore "Il processo non puo' accedere al file NasoSan.png perche' e' in uso da un altro processo" se una finestra del programma con logo era ancora aperta; il logo ora viene letto in memoria invece di restare agganciato al file, cosi' la riparazione puo' sempre sovrascriverlo
- corretto bug reale (segnalato dal vivo): nella finestra Lista batch i quadratini di spunta a fianco dei percorsi non si vedevano affatto; ora disegnati correttamente
- finestra Lista batch: tutti gli elementi partono gia' spuntati all'apertura; pulsante rinominato in "Rimuovi elementi senza spunta" (rimuove chi non ha la spunta, invece di chi ce l'ha)
- corretto bug reale: il pulsante "Aggiungi a lista batch" (finestra Azioni) salvava subito su disco al click, invece di farlo solo con Conferma/Memorizza ed esci come tutto il resto del programma; ora apre la finestra Lista batch e la scelta di salvare resta li'
- corretto bug reale (riprodotto dal vivo): svuotare la lista batch e cliccare Memorizza/Conferma non cancellava davvero il file su disco, riaprendo la finestra gli elementi tolti ricomparivano
- nuova funzionalita' richiesta dal vivo: nella finestra Lista batch, colonne Elimina e Sblocca ora con un quadratino di spunta per ogni riga (invece del solo Si/No), per scegliere elemento per elemento quale azione eseguire: solo Sblocca spuntato = solo sblocco, mai eliminazione; Elimina spuntato = spunta anche Sblocca in automatico (comportamento combinato); si puo' togliere la sola spunta Sblocca tenendo Elimina spuntato per un'eliminazione "pura" senza chiudere altri programmi ne' riavviare Esplora file; se si tolgono entrambe le spunte azione, si toglie automaticamente anche la spunta della riga, cosi' si puo' rimuovere l'elemento con "Rimuovi elementi senza spunta"; il quadratino non compare affatto se quell'azione non e' possibile per quell'elemento
v0.092 — 06/09/2026
- corretto bug reale (segnalato dal vivo): i messaggi di errore di Installa e Ripara mostravano sempre lo stesso testo fisso ("Verificare i permessi ed i log"), senza alcun dettaglio utile; ora mostrano anche la causa reale dell'errore intercettato
- corretto bug reale (segnalato dal vivo): dopo un errore a meta' della riparazione, il menu tasto destro perdeva del tutto la voce del programma (restava solo "Installa"); Ripara ora ricrea prima la voce corrente e pulisce solo dopo le voci vecchie/obsolete, senza mai togliere quella corrente
- aggiunto il pannello con logo NasoSan anche alla finestra di esito/errore (Installa/Ripara/Disinstalla), come su tutte le altre finestre del programma
- verificato e distribuito: ricompilato e reinstallato realmente in C:\Program Files\NasoSan\Tools\
v0.091 — 06/09/2026
- corretto bug reale (segnalato dal vivo): nella finestra menu "Disinstalla/Ripara installazione/Esci" e in tutte le finestre con logo, i pulsanti apparivano sovrapposti/nascosti dal logo in alto; causa reale, il pannello del contenuto veniva aggiunto prima del pannello del logo e finiva per occupare tutto lo spazio della finestra, logo compreso - ora l'ordine e' corretto e lo spazio del logo e' sempre riservato
- corretto bug reale (segnalato dal vivo): nella finestra Lista batch i percorsi di lunghezza media restavano troncati con i puntini anche dopo l'allargamento automatico della finestra, mai nella finestra Azioni; causa reale, il calcolo della larghezza non riservava lo spazio delle colonne Elimina/Sblocca e del quadratino di spunta - ora riservato correttamente
- corretto bug reale (segnalato dal vivo): una cartella risultava "gia' eliminata" al primo tentativo (nessun metodo provato, nessuna riga nel registro log) ma restava presente su disco; ora un secondo controllo di conferma (con breve attesa) prima di dichiarare l'elemento assente, e una riga viene sempre scritta nel registro log anche in questo caso
- rimossa dalla lista batch installata una voce residua di prova non piu' valida (file gia' rinominato/spostato)
- aggiunto il logo NasoSan, cliccabile (apre il sito), in cima a tutte le finestre del programma
- verificato e distribuito: tutte le correzioni sopra sono state ricompilate e installate nel programma effettivamente in uso, non solo scritte nel codice sorgente
v0.089 — 06/09/2026
- corretto bug reale (segnalato dal vivo): nella finestra Lista batch non si riusciva a selezionare un percorso nell'elenco (nessun colore di evidenziazione), quindi il pulsante "Rimuovi elemento selezionato" sembrava non funzionare; ora la riga selezionata e' sempre visivamente evidenziata
- riverificato a codice il requisito che gli elementi restino nell'elenco salvato su disco solo cliccando Conferma o Memorizza ed esci: confermato gia' rispettato, nessuna modifica necessaria
- aggiunta diagnostica permanente (log\diag_disegno.txt) anche al calcolo della larghezza della finestra Lista batch, per individuare al prossimo caso dal vivo perche' non si allarga come la finestra Azioni
- file interno CancellaFile15.ps1 (finestre Lista batch/Log/Azioni/riepilogo) diventato grande: la parte di disegno elenco condivisa spostata in un nuovo file interno CancellaFile19.ps1 (nessun cambiamento visibile per l'utente)
- corretto bug reale (segnalato dal vivo): anche dopo l'evidenziazione colorata, cliccare su una riga della finestra Lista batch non la selezionava davvero e il pulsante di rimozione restava senza effetto; ora ogni riga ha un quadratino di spunta, il pulsante e' diventato "Rimuovi elementi spuntati" e toglie dall'elenco tutti gli elementi spuntati (anche piu' di uno insieme)
v0.086 — 05/09/2026
- corretto bug reale (causa trovata dal vivo): la finestra Lista batch mostrava "0 elementi" nonostante il file su disco contenesse le voci corrette - la lettura del file JSON non riconosceva l'elenco quando conteneva 2 o piu' elementi (li leggeva tutti insieme come un unico blocco invece che uno per uno); corretto ovunque nel programma un file JSON viene letto (Lista batch, elementi non risolti, Log, coordinamento tra piu' istanze aperte insieme)
- finestre "Azioni" e "Lista batch" ora si allargano da sole quando il percorso o i percorsi da mostrare sono lunghi, fino a un massimo di 3/4 della larghezza dello schermo, invece di restare a larghezza fissa con il testo troncato
- corretto bug reale (causa trovata dal vivo): selezionando un solo elemento, la finestra Azioni mostrava "Elemento selezionato: C" invece del percorso completo, e i pulsanti Elimina/Sblocca/Aggiungi restavano inattivi - il percorso veniva ridotto per errore alla sola lettera dell'unita' durante il passaggio tra il coordinamento delle istanze e l'apertura della finestra
- corretto bug reale (segnalato dal vivo dopo la domanda "come faccio a distinguere un pulsante funzionante da uno non cliccabile"): un pulsante disattivato appariva identico a uno normale (nessun grigiore); ora un pulsante disattivato e' sempre visivamente riconoscibile (grigio spento)
- corretto bug reale (segnalato dal vivo): pulsanti "Log" e "Annulla" lampeggiavano vistosamente passando il mouse sopra, gli altri no - colore hover ora impostato esplicitamente e uniforme per tutti i pulsanti
- pulsanti Elimina/Sblocca/Aggiungi (finestra Azioni): un errore imprevisto durante il click restava del tutto silenzioso (nessun effetto, nessun messaggio) - segnalato dal vivo su Aggiungi; ora ogni errore viene sempre segnalato con un messaggio e registrato nel log, mai piu' "muto"
- corretto bug reale (verificato dal vivo): selezionando piu' elementi misti (collegamenti e file) col tasto destro, Explorer apriva un'istanza separata del programma per ogni elemento (8 istanze su 10 selezionati) invece di una sola finestra con l'elenco completo; ora le istanze aperte quasi insieme si coordinano tra loro e una sola mostra la finestra Lista batch con tutti gli elementi (rimuovibili singolarmente prima di Conferma)
- corretto bug reale (regressione introdotta dalla correzione precedente, segnalata dal vivo): aprendo la finestra Lista batch, la correzione automatica delle voci danneggiate riscriveva subito il file anche senza cliccare Conferma o Memorizza - ora la correzione su disco avviene solo nei punti che gia' salvano per un'azione utente esplicita (Aggiungi, Esegui, Ripara), mai durante una semplice apertura/lettura
- corretto bug reale (causa trovata dal vivo): la finestra Lista batch mostrava un conteggio nel titolo ma nessuna riga - lista_batch.json conteneva una voce con struttura corrotta; aggiunta una lettura unica con controllo che scarta e ripara automaticamente le voci danneggiate, usata ovunque il file viene letto
- corretto bug reale: la riparazione (menu Gestisci) sistemava solo i file del programma, mai i dati - ora "Ripara" controlla e corregge anche lista_batch.json, segnalandolo nel messaggio finale se trovava voci danneggiate
- corretto bug reale (causa trovata dal vivo): le righe di tutti gli elenchi (Lista batch, Log, Riepilogo batch) apparivano senza testo, solo intestazione/conteggio visibili - "New-Object Rectangle(...)" con l'aritmetica scritta dentro le parentesi veniva interpretata male da PowerShell, interrompendo silenziosamente il disegno del testo
- rimosso il salvataggio automatico della lista batch alla sola apertura/visualizzazione (introdotto per errore nella sessione precedente): ora si salva solo cliccando Conferma o Memorizza ed esci
- corretto bug reale: pulsante "Aggiungi a lista batch" chiudeva la finestra Azioni; ora resta aperta, come Log/Lista batch
- corretto bug reale: elementi appena selezionati nella finestra Lista batch non venivano salvati se si chiudeva senza cliccare Conferma o Memorizza ed esci ("aggiunti 3 file ma nessuno compare nella lista"); ora vengono salvati subito all'apertura della finestra
- log dei tentativi falliti (cancella/sblocca, singolo e batch): il campo dettaglio ora riporta la causa reale del fallimento (es. errore intercettato, elemento ancora bloccato, processi chiusi ma ancora presente) invece di restare vuoto
- finestra Log: aggiunto pulsante "Esporta..." (salvataggio su file CSV con scelta nome/cartella; apertura della cartella per condividere il file con il menu Condividi di Windows)
- aggiunto log diagnostico permanente del disegno righe elenchi (log\diag_disegno.txt), utile per capire dal vivo cosa viene disegnato, in vista dell'indagine sul bug righe invisibili nella finestra Lista batch con 1 elemento
- finestra Lista batch: ridotto spazio vuoto in fondo, pulsanti piu' vicini al contenuto
- corretto bug reale: nessun pulsante nella finestra Azioni (gui principale) per vedere la lista batch; aggiunto pulsante "Lista batch"
- corretto bug reale: la voce menu "Esegui CancellaFileNasoSan (N elementi)" eseguiva subito la lista batch senza poterla vedere prima; ora apre la finestra Lista batch (vedi/rimuovi elementi, poi Conferma o Memorizza ed esci)
- corretto bug reale: selezionando piu' file/cartelle col tasto destro compariva solo il primo nella finestra Azioni (le altre selezioni venivano bloccate dalla protezione contro istanze multiple); ora si apre una finestra Lista batch con tutti gli elementi selezionati (uniti a quelli gia' salvati), indica per ognuno se Cancella/Sblocca non sono possibili, permette di toglierli dalla lista, e un pulsante "Memorizza ed esci" per aggiungerne altri da Esplora risorse prima di eseguire
v0.036 — 04/09/2026
- aggiunto pulsante "Annulla" nella finestra Azioni per uscire senza eseguire alcuna azione
- corretto bug reale: testo bianco su sfondo azzurro chiaro nei pulsanti secondari (es. "Aggiungi a lista batch"), poco leggibile - ora testo scuro su quei pulsanti
- pulsante "Cancella" rinominato in "Elimina" (rischio di confusione visiva col pulsante "Annulla")
- corretto bug reale (gia' risolto in passato su un altro progetto, stessa causa): intestazione degli elenchi (riepilogo batch, log) con un quadrato bianco non dipinto a destra dell'ultima colonna; testo troppo lungo per la colonna tagliato bruscamente invece che troncato con puntini
- corretto bug reale: finestra di caricamento tagliata in basso e, su cartelle con molti file, restava bloccata su "Elaborazione in corso..." senza indicare cosa stesse controllando e senza modo di interrompere; ora finestra piu' grande, testo con avanzamento reale (numero file controllati) durante la scansione dei blocchi, pulsante Annulla
- corretto bug reale: finestra di caricamento senza titolo (nessuna barra, FormBorderStyle None) e, in certi casi, restava a schermo anche dopo la chiusura (ghosting Windows per assenza di pompaggio messaggi durante un controllo lento) - ora ha titolo "CancellaFileNasoSan" e Application.DoEvents() dopo l'apertura e dopo la chiusura
- aggiunta finestra di caricamento non modale ("Elaborazione in corso...") mostrata subito dopo il click nel menu tasto destro, chiusa appena la finestra Azioni e' pronta: copre l'intervallo prima invisibile dovuto a elevazione UAC e controlli iniziali
- corretto bug reale: finestra Azioni offriva Cancella/Sblocca/Aggiungi anche su una radice di unita' (es. "C:\", icona di Risorse del computer), mai un'operazione valida; ora disattivati
- corretto bug reale: lanciando il programma senza installazione presente, installava subito senza chiedere nulla; ora chiede conferma prima
- corretto bug reale: finestra Azioni, testo elemento selezionato e righe degli elenchi (riepilogo batch, log) usavano il colore riservato alle etichette (grigio) invece di quello per il contenuto principale; pulsante Sblocca si attivava con la sola esistenza dell'elemento invece che solo quando e' davvero bloccato
- corretto bug reale: elevazione UAC (rilancio tramite AvvioSilenzioso.vbs) usava Start-Process -ArgumentList con un array, che unisce gli argomenti con uno spazio senza virgolette; percorsi con spazi (es. "C:\Program Files\...") si spezzavano al primo spazio causando l'errore "Nessuna estensione di file in 'C:\Program'."; corretto costruendo una stringa con ogni argomento virgolettato singolarmente, come gia' fatto nel ramo di riserva
- menu tasto destro: sostituite le 5 voci separate (Cancella/Sblocca/Aggiungi/Log/intestazione, mai raggruppate con righe/intestazione visibili nonostante il tentativo) con una sola voce che apre una finestra con l'elemento selezionato e i pulsanti delle azioni; pulsanti disattivati se non applicabili o se il tentativo fallisce, si chiude da sola se l'azione riesce
- corretto bug reale: verificato dal vivo, menu tasto destro senza icone e senza lanciatore funzionante (ogni voce dava errore "impossibile trovare AvvioSilenzioso.vbs") - causa: compila_CancellaFileNasoSan.ps1 non copiava AvvioSilenzioso.vbs ne' la cartella media\ (icona sorgente) accanto al file compilato, entrambi necessari all'installazione; corretto anche un bug collegato per cui Ripara installazione falliva se la cartella di installazione era stata rimossa manualmente lasciando il registro invariato
- corretta icona bianca nel menu tasto destro: causa reale, generazione .ico con formato PNG non sempre leggibile da Explorer nelle dimensioni piccole (16-48px) per un bug di ritorno array in PowerShell; ricostruita con formato classico compatibile, verificata con la stessa API usata da Explorer
- finestre di avviso (es. "Riparazione completata") ora dimensionate sul testo invece che a misura fissa troppo grande; quella non bloccante mostra un conto alla rovescia leggibile invece di sparire senza preavviso
- sottomenu a cascata rimosso (freccia visibile ma non si apriva, incompatibilita' con altre estensioni della shell installate sul PC): tornate le 5 voci dirette nel menu tasto destro, raggruppate con una riga sopra e una sotto e la prima voce ("CancellaFileNasoSan") come intestazione che apre Gestisci
v0.035 — 04/09/2026
- corrette voci vecchie rimaste sparse nel menu tasto destro dopo l'aggiornamento al sottomenu a cascata (disinstalla/ripara ora le rimuove sempre)
- nascosta sempre la finestra PowerShell (anche quando il lanciatore silenzioso non e' disponibile, es. lancio manuale senza AvvioSilenzioso.vbs accanto allo script)
- avvio ora sempre silenzioso (elevazione UAC e tutti i comandi del menu tasto destro/batch): lanciatore condiviso AvvioSilenzioso.vbs al posto di powershell.exe diretto, niente piu' lampo della finestra console
- icona del menu ora multi-risoluzione (16/20/24/32/48/256 px) con ridimensionamento di qualita', niente piu' sgranature nei menu piccoli
- le 5 voci del menu tasto destro (Cancella, Sblocca, Aggiungi, Log, Gestisci) raggruppate in un sottomenu a cascata "CancellaFileNasoSan", meno affollamento
- corretta finestra CLI visibile dopo elevazione UAC (aggiunto -WindowStyle Hidden al relaunch)
- corretto errore su comando Cancella da menu tasto destro con percorsi contenenti spazi (argomenti ri-quotati singolarmente prima della ri-elevazione)
- aggiunto compila_CancellaFileNasoSan.ps1: risolto bug per cui installazione/riparazione copiavano solo il file base (senza le 18 sezioni) in Program Files, lasciando l'installato privo delle funzioni; ora si compila un file singolo completo prima di installare
- menu Gestisci (Disinstalla/Ripara/Esci) convertito da console a finestra WinForms: la console (sempre nascosta) lo rendeva invisibile e inutilizzabile
- corretto bug reale: tutti i metodi di cancellazione fallivano sempre ("Non riuscito") a causa del runspace interno che non trovava piu' le funzioni nel file compilato; ora le funzioni vengono iniettate correttamente nel nuovo runspace prima dell'apertura
- corretto menu Gestisci/Ripara invisibile: la finestra veniva creata ma restava dietro a Explorer perche' il processo e' lanciato senza finestra proprietaria (-WindowStyle Hidden) e Windows non le dava il focus; ora la finestra si apre sempre in primo piano
- causa reale di "nessun menu nel tasto destro" trovata e corretta: l'installazione non si completava mai (sospesa a tempo indefinito) perche' il fornitore registro di PowerShell interpretava l'asterisco della chiave universale come carattere jolly; passaggio alle API .NET dirette per il registro, tutte e 5 le voci ora create correttamente
