Så här åtgärdar du problemet ”Filnamnet är för långt” i Windows

Om du någonsin har sett det här problemet var det förmodligen en enkel lösning för dig. Om du har sett det här felet mer än två gånger vet du också att det kan vara ett komplicerat problem att åtgärda ibland.

Låt oss hoppas att du bara stöter på de enkla lösningarna, men vi förbereder dig för de mindre enkla, garanterat fungerande lösningarna också.

Varför är filnamnslängden ens ett problem i Windows?

Det finns en lång historia av att filnamnslängder är ett problem för operativsystem som Windows. Det fanns en tid då man inte kunde ha filnamn som var längre än 8 tecken plus ett filtillägg på 3 tecken. Det bästa man kunde göra var något som myresume.doc. Detta var en begränsning som fanns på grund av filsystemets utformning.

Det blev bättre i takt med att nya versioner av Windows kom ut. Vi gick från ett gammalt, begränsat filsystem till något som kallas NTFS (New Technology File System). NTFS tog oss till en punkt där ett filnamn kunde vara 255 tecken långt, och filsökningslängden kunde potentiellt gå upp till 32 767 tecken. Så hur kan vi ha för långa filnamn?

Windows har saker som kallas systemvariabler. Det är variabler som Windows förlitar sig på för att fungera, eftersom Windows alltid vet vad variablerna betyder och var de finns, även när vi flyttar bitar och bytes överallt. Systemvariabeln MAX_PATH är den som begränsar filnamn och filvägar till under 260 tecken.

Som en variabel skulle man kunna tro att vi kan ändra den. Nej, det borde vi inte göra. Det skulle vara som att dra ut en tråd ur en tröja. Så fort en systemvariabel ändras börjar andra systemvariabler och komponenter som är beroende av dem att gå sönder.

Hur fixar vi det då?

Den enkla lösningen

Om du är lyckligt lottad får du felet och vet exakt vilket filnamn som orsakar problemet. Eller åtminstone var du kan hitta filen. Kanske har du ett filnamn som ser ut ungefär som:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Det är uppenbart vem som är felande i det här fallet. Hitta filen i Utforskaren, eller Filutforskaren som den heter i Windows 10, klicka en gång på den, tryck F2 för att byta namn och ändra det fåniga filnamnet till något mer rimligt. Problemet är löst.

De mindre enkla lösningarna

Det är inte alltid så enkelt att lösa det här problemet. Ibland kan det hända att du av någon anledning inte kan ändra namnen på filer eller kataloger.

De följande lösningarna kommer att göra susen för dig. De är inte svåra att göra.

Förflytta, ta bort eller kopiera filer eller kataloger med PowerShell

Ibland får du ett fel när du försöker flytta, ta bort eller kopiera kataloger där teckenantalet för filsökvägen är mer än 260.

Notera att orden katalog och mapp är utbytbara. Vi kommer att använda ”katalog” i fortsättningen. Följande PowerShell-cmdlets kan också användas på filer.

Kanske ser filsökvägen ut ungefär så här:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Denna filsökväg är 280 tecken lång. Så vi kan inte kopiera katalogen därifrån till någon annanstans med den vanliga kopiera-klistra-metoden. Vi får felet Destination Path Too Long.

Vi antar att vi av någon anledning inte kan byta namn på de kataloger som filen är inbäddad i. Vad gör vi?

Öppna PowerShell. Om du inte har använt PowerShell ännu kan du ta del av vår artikel Using PowerShell for Home Users – A Beginner’s Guide. Du kan dock göra nästa steg utan att läsa artikeln.

När PowerShell öppnas befinner du dig vid roten av din användarkatalog. Följ med om du antar att C:\Users\guymc är din användarkatalog.

Den katalog som heter This finns i dokumentkatalogen. För att flytta in i dokumentkatalogen använder vi DOS-kommandot cd Documents.

Du ser att prompten ändras till C:\Users\guymc\Documents. Det är bra. Vi arbetar närmare katalogerna vilket kommer att göra det lättare.

Kopiera katalog med hjälp av Copy-Item

Vi vill kopiera katalogen This och dess innehåll till ThatNewFolder. Låt oss använda PowerShell-cmdletten Copy-Item med parametrarna -Destination och -Recurse.

-Destination talar om för PowerShell var vi vill att kopian ska vara. -Recurse talar om för PowerShell att kopiera alla objekt inuti till destinationen. Kopieringen lämnar originalen där de är och gör alla nya i destinationen.

Copy-Item This -Destination ThatNewFolder -Recurse

Förflytta katalog med hjälp av Move-Item

Då säger vi att vi vill flytta katalogen This, och alla kataloger och filer i den, till ThatNewFolder. Flyttningen lämnar inte originalet på plats.

Vi kan använda PowerShell-cmdletten Move-Item med parametrarna -Path och -Destination. -Path definierar det objekt vi vill flytta och -Destination talar om för PowerShell var vi vill ha det.

Cmdletten placerar This inuti ThatNewFolder. Den kommer också att flytta allt som finns inuti katalogen This. Move-Item kan användas för att flytta filer eller kataloger och fungerar oavsett filväg eller filnamnslängd.

Move-Item -Path This -Destination ThatNewFolder

För att försäkra dig om att det fungerade använder du kommandot cd ThatNewFolder för att komma in i ThatNewFolder. Använd sedan kommandot dir för att lista katalogerna i ThatNewFolder. Du ser att katalogen This finns där.

Släpp katalog med Remove-Item

Om vi vill ta bort katalogen This, och allt i den, använder vi cmdlet Remove-Item.

Cmdletten Remove-Item har en viss inbyggd säkerhet som gör det svårt att ta bort en katalog med saker i den. I vårt exempel vet vi att vi vill ta bort allt, så vi använder parametrarna -Recurse för att få den att ta bort allt inuti och -Force för att få den att göra det utan att fråga oss om vi är säkra för varje objekt inuti.

Varning! Att återskapa allt som raderats på detta sätt skulle vara extremt svårt. Du kan prova metoderna i Hur man återställer oavsiktligt raderade filer, men förvänta dig inte mycket.

Remove-Item This -Recurse -Force

Du kan använda kommandot dir igen för att försäkra dig om att det är borta.

Få Windows 10 att acceptera långa filvägar

Om du vet att du kommer att använda långa filvägar och långa filnamn upprepade gånger är det lättare att få Windows att arbeta åt dig. Det är ingen idé att använda PowerShell för att göra arbetet varje dag.

Det finns två sätt att göra detta på. Det ena är för Windows 10 Home-användare och det andra är för Windows 10 Pro- eller Enterprise-användare. Dessa metoder kan fungera för Windows 8.1 eller tidigare, men vi kan inte garantera det.

Få Windows 10 Home att acceptera långa filvägar

För att få Windows 10 Home att acceptera långa filvägar måste vi öppna registereditorn. Om du inte har arbetat i Registry Editor tidigare ska du vara försiktig. Om du råkar ta bort eller ändra saker här kan du stoppa Windows från att fungera helt och hållet.

Gör alltid en säkerhetskopia av registret innan du gör några ändringar. Läs allt du behöver veta om detta i vår ultimata guide för säkerhetskopiering och återställning av Windows-registret.

När du har öppnat Registry Editor och gjort din säkerhetskopia, navigerar du till platsen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem och letar upp nyckeln LongPathsEnabled.

Dubbelklicka på LongPathsEnabled. Kontrollera att siffran 1 finns i fältet Value data:. Klicka på OK för att bekräfta ändringen.

Försvinn registereditorn och du borde kunna arbeta med galet långa filvägar nu.

Få Windows 10 Pro eller Enterprise att acceptera långa filvägar

För att tillåta Windows 10 Pro eller Enterprise att använda långa filvägar använder vi grupprincipeditorn. Det är ett verktyg som gör att vi kan ställa in principer för hur Windows fungerar på dator- och användarnivå.

Vi har flera artiklar om hur man använder grupprinciper för att göra saker som att inaktivera eller aktivera Internet Explorer-alternativ eller lägga till ett meddelande på inloggningsskärmen.

Öppna grupprincipredigeraren genom att gå till Start-menyn och skriva gpedit. Det översta resultatet ska vara Redigera grupprincip. Dubbelklicka på det.

När Redigeraren för grupprinciper öppnas navigerar du till Datorkonfiguration > Administrativa mallar > System > Filesystem. Där ser du principen Aktivera Win32 långa sökvägar.

Du kan dubbelklicka på den för att redigera principinställningen. Ändra den från Inaktiverad till Aktiverad och klicka sedan på knappen OK för att bekräfta ändringen.

Principen kanske inte träder i kraft direkt. Du kan dock tvinga grupprincipen att uppdateras.

That’s It

Det finns några andra sätt att arbeta med långa filnamn och filvägar, men det vi har gått igenom här är de enklaste och mest effektiva metoderna.

Lämna ett svar

Din e-postadress kommer inte publiceras.