11 augusti 2011

Så tar du bort filer som vägrar låta sig hanteras

Windows filsystem är lustigt ibland. Det innehåller en massa regler som talar om hur filnamn och kataloger får lov att se ut. Men ibland går det att komma runt dessa regler, vilket kan leda till filer och kataloger som varken går att läsa eller ta bort.

Det finns till exempel en begränsning på hur långt det kompletta filnamnet (inklusive sökväg) får lov att vara. Normalt är det 256 tecken. Men detta är inte skrivet i sten, och ibland kan man få till filer som ligger "djupare" än så. Lösningen på detta är vanligtvis att flytta katalogen bakåt i filstrukturen, så att den totala sökvägen blir mindre. Om detta inte löser problemet, fortsätt läsa.

Filnamn (och kataloger, som tekniskt sett är filer) får inte lov att sluta med ett mellanslag. Normalt strippas mellanslag automatiskt bort av underliggande rutiner när man hanterar filer, men i vissa fall går det att få dit ett mellanslag ändå. Jag har råkat ut för detta när jag kopierat saker från CD-Skivor som har råkat innehållit sådana filnamn. En sådan fil eller katalog ligger där den ligger, och går inte att varken läsa, flytta, ta bort eller byta namn på. Mycket irriterande. Så här gör du för att hantera dessa filer:

Du måste använda en kommando-promt. Men det går inte att hantera filerna rakt upp och ner härifrån heller. Det du behöver göra är att skriva hela sökvägen på ett speciellt sätt. Här är ett exempel:

del "\\?\C:\temp\foo.txt "

 Notera \\?\ samt att hela sökvägen har angivits, inklusive enhetsbeteckning. På detta sätt kan du med del, ren, rmdir, och copy hantera dessa besvärliga filer och kataloger.

Om du fortfarande inte lyckas finns här en artikel som kanske kan hjälpa dig ytterligare. Lycka till!

Intressant? Andra bloggar om: , , , , , , ,

Inga kommentarer: