Jak smazat nesmazatelné soubory či adresáře

Čas od času se spoustě mých známých s operačním systémem Windows stane, že se jim někde (většinou na ploše) objeví soubor či složka, která nejde smazat.

Příznaky

Typickým příznakem při pokusu o smazání je chybové hlášení "Položka nenalezena", "Položku nelze nalézt" nebo "Soubor se již nenachází v CESTA_K_SOUBORU, ověřte cestu k souboru a zkuste to znovu". (Hlášení v češtině neznám, volně přeloženo, nicméně v originále se jedná o potíže "Item Not Found", "Could not find this item" nebo "This item is no longer located in PATH_TO_FILE. Verify the item location and try again".

Mnoho návodů a tutoriálů vás odkáže na práva, nouzový režim nebo aplikace typu Unlocker.

Ani jedno z řešení však nepomůže a soubory stále nelze smazat.

Většinou za ně může aplikace nebo instalátor aplikace s přístupem k příkazové řádce.

Typicky pak tyto soubory nebo složky obsahují buďto whitespace (prázdné znaky) ve svém názvu, případně začínají či končí tečkou. Technicky za to mohou Windows svým přístupem k manipulaci se soubory, ale o tom tento příspěvek není.

Jak to opravit?

Pro smazání takových problémových souborů je nutné použít příkazovou řádku (cmd) a tzv. Extended Path Format (formát cesty k souboru obsahuje \\?\ prefix).

Pokud tedy máte na ploše nesmazatelnou složku s názvem "problém", by standardní postup pro mazání:

rd /s "C:\Users\Public\Desktop\problém"

Tento příkaz však selže se stejnou chybou, jako běžné delete nebo pokus o smazání v menu pravého tlačítka.

Místo toho použijte příkaz:

rd /s "\\?\C:\Users\Public\Desktop\problém"

Který takto nesmazatelný soubor bez problémů odstraní.