Windows: come risolvere l’errore “Handle del file non valido”
Uno dei motivi per cui in Windows si verifica l’errore “Handle del file non valido” durante l’eliminazione di un file è che per tale file è stato utilizzato un nome riservato.
Come specificato in questo articolo di Microsoft, infatti, durante la creazione di file/cartelle nel filesystem di Windows è opportuno evitare di utilizzare i seguenti nomi riservati:
CON, PRN, AUX, NUL
COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9
LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
È inoltre opportuno evitare che questi nomi siano seguiti immediatamente da un’estensione: ad esempio, è preferibile non nominare un file NUL.txt.
Se per un qualsiasi motivo vi trovate a dover gestire un file di questo tipo, perché magari proveniente da altri filesystem (es. da un PC Linux con partizione ext3/4, etc… o dalla memoria interna del vostro smartphone), sappiate che esistono un paio di modi per eliminare tali elementi.
Uno di questi è eliminare il file/cartella dal prompt dei comandi anteponendo \\.\ o \\?\ al percorso completo.
Se ad esempio si desidera eliminare la cartella C:\Temp\con\, sarà sufficiente lanciare il seguente comando dal prompt:
rd \\.\c:\Temp\con /S /Q
Per eliminare invece il file C:\Temp\con.txt, il comando da lanciare sarà:
del \\.\c:\Temp\con.txt
In altri casi, in cui il motivo dell’errore “Handle del file non valido” non è riconducibile al suo nome, è possibile utilizzare il seguente comando (ipotizziamo che il nome del file sia c:\Temp\prova.txt):
fsutil reparsepoint delete c:\Temp\prova.txt del c:\Temp\prova.txt
Un reparse point è un oggetto del filesystem con attributi che attivano funzionalità aggiuntive. Una volta eliminato il reparse point con primo dei due comandi di cui sopra, sarà possibile eliminare normalmente il file.
Per concludere, se entrambi questi metodi falliscono, probabilmente il vostro supporto di memorizzazione è danneggiato fisicamente, e in tal caso le uniche opzioni che avete sono uno scandisk approfondito o la sostituzione dell’hardware.
11 Commenti
Thank you so much. I was having a problem deleting CON.cif in the Cygwin installation. Cygwin’s website didn’t even reference this issue. Your article really helped resolve the problem fast!
Thank you very much. Finally I could delete CON.WAV, a file that I downloaded together with a bunch of other wav files. This article was very helpful for resolving my problem. Thanks again.
I have been Tearing my Hair out with the CON file, I have learnt something from your Article. Thanks a Lot. You have just made my Day.
You are a Star. Many Thanks. Have A Great Day.
Thank you…
This works like a dream!
Ciao, grazie per la guida! Sto cercando di eliminare il mio fastidiosissimo “Con.m4a”, ma non appena do il comando il prompt risponde così: “Impossibile trovare il percorso specificato”. Come posso risolvere? Grazie!
Great workaround! Had a user with an infected file named con.exe. Anti-virus couldn’t remove it because of the filename.
This worked for me where con.jpg was the file.
thanks
deleting is one solution, what is another? I need to keep the file. Its an archived communication that needs to be kept for legal reasons. It does not use any reserved windows words.
\\serverName\WEBCLAIMSINQUIRIES\0\1\1038.bin
I need to migrate it to another server and I cannot copy it or open it. Copy attempt gets the invalid file handle error, oen error simply says error.
try renaming it instead of deleting it?
also do it directly on server so you are accessing via a drive letter NOT a UNC path