Windows

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 \\.\\\?\ 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.

Articolo precedente

Spostare la root di un sito in una subdirectory

Articolo successivo

Come cancellare la cache delle icone di Google Chrome

Fulvio Sicurezza

Fulvio Sicurezza

11 Commenti

  1. Danon Richards
    14 dicembre 2016 at 11:34 — Rispondi

    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!

  2. Frank Edwards
    11 luglio 2017 at 04:21 — Rispondi

    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.

  3. Logan Govender
    8 marzo 2018 at 06:17 — Rispondi

    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.

  4. Mutaro
    10 marzo 2018 at 09:11 — Rispondi

    Thank you…

  5. Abhik
    6 giugno 2018 at 15:31 — Rispondi

    This works like a dream!

  6. Joe
    6 settembre 2018 at 10:42 — Rispondi

    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!

  7. Mike Soucie
    10 ottobre 2018 at 15:57 — Rispondi

    Great workaround! Had a user with an infected file named con.exe. Anti-virus couldn’t remove it because of the filename.

  8. Radion
    22 novembre 2019 at 04:46 — Rispondi

    This worked for me where con.jpg was the file.

  9. Jane Austen
    7 aprile 2020 at 18:45 — Rispondi

    thanks

  10. Paul Chancey
    2 luglio 2020 at 16:14 — Rispondi

    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.

    • Darren Rose
      14 luglio 2020 at 22:13 — Rispondi

      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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *