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å varianten av enkla korrigeringar, men vi förbereder dig för de mindre enkla, garanterat fungerande korrigeringarna också.

Varför är filnamnslängden till och med ett problem i Windows?(Why Is Filename Length Even An Issue In Windows?)

Det finns en lång historia av filnamnslängder som är ett problem för operativsystem som Windows . Det fanns en tid när du inte kunde ha filnamn längre än 8 tecken plus en 3-teckens filtillägg. Det bästa du kunde göra var något som myresume.doc . Detta var en begränsning på plats genom utformningen av filsystemet.

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

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

Eftersom vi är en variabel skulle du kunna ändra den. Nej, det borde vi inte. Det skulle vara som att dra en tråd ur en tröja. Så snart en systemvariabel ändras, börjar andra systemvariabler och komponenter som är beroende av dem att nystas upp.

Hur fixar vi det då?

Den lätta fixen(The Easy Fix)

Om du har tur får du felet och vet exakt vilket filnamn som orsakar problemet. Eller åtminstone var man hittar filen. Du kanske har ett filnamn som ser ut ungefär så här:

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

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

De mindre enkla korrigeringarna(The Less Easy Fixes)

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

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

Flytta(Move) , ta bort (Delete)eller kopiera filer eller kataloger med PowerShell(Or Copy Files Or Directories Using PowerShell)

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

Observera att orden katalog och mapp är utbytbara. Vi kommer att använda "katalog" framöver. 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

Den filsökvägen ä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 .

Låt oss anta att vi av någon anledning inte kan byta namn på katalogerna där filen är kapslad. Vad gör vi?

Öppna PowerShell(Open PowerShell) . Om du inte har använt PowerShell ännu, njut 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 är du i roten av din användarkatalog. Följ(Follow) med förutsatt C:\Users\guymc är din användarkatalog.

Katalogen som heter Detta(This) är inuti dokumentkatalogen(Documents) . För att flytta in i dokumentkatalogen(Documents) använder vi DOS- kommandot cd Documents

Du kommer att se prompten ändras till C:\Users\guymc\Documents . Det är bra. Vi jobbar närmare katalogerna vilket kommer att göra det enklare.

Kopiera katalog med Copy-Item

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

-Destination berättar för PowerShell var vi vill att kopian ska vara. -Recurse säger åt PowerShell att kopiera alla objekt inuti till destinationen. Kopiering lämnar originalen där de är och gör alla nya på destinationen.

Copy-Item This -Destination ThatNewFolder -Recurse

Flytta katalog med hjälp av Move-Item

Låt oss säga att vi vill flytta katalogen This, och alla kataloger och filer i den, till ThatNewFolder . Att flytta lämnar inte originalet på plats.

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

Cmdleten kommer att placera This inuti ThatNewFolder . Det kommer också att flytta allt som finns i denna katalog. Move-Item kan användas för att flytta filer eller kataloger, och det fungerar oavsett filsökväg eller filnamnslängd.

Move-Item -Path This -Destination ThatNewFolder

För att vara säker på att det fungerade, använd kommandot cd ThatNewFolder för att komma in i ThatNewFolder . Använd sedan dir- kommandot för att lista katalogerna i ThatNewFolder . Du kommer att se den här katalogen finns där.

Ta bort katalog med Remove-Item

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

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

Varnas! Att återställa 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 dir-kommandot igen för att se till att det är borta.

Få Windows 10 att acceptera långa filsökvägar(Make Windows 10 Accept Long File Paths)

Om du vet att du kommer att använda långa filsökvägar och långa filnamn upprepade gånger, är det lättare att få Windows att fungera för dig. Ingen mening att använda PowerShell för att göra jobbet varje dag.

Det finns två sätt vi kan göra detta. Den ena är för Windows 10 -hemanvändare(Home) och den 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.

(Make) Windows 10 Home att acceptera långa filvägar(Home Accept Long File Paths)

För att få Windows 10 Home att acceptera långa filsökvägar måste vi öppna Registerredigeraren(Registry Editor) . Om du inte har arbetat i Registereditorn(Registry Editor) tidigare, var försiktig. Att av misstag radera eller ändra saker här kan stoppa Windows från att fungera helt.

Gör alltid en säkerhetskopia av ditt register innan du gör några ändringar. Lär dig allt du behöver veta om det i vår ultimata guide för att säkerhetskopiera och återställa Windows-registret( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

När du har öppnat Registereditorn och(Editor) din säkerhetskopia har gjorts, navigera till platsen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem och hitta nyckeln LongPathsEnabled .

Dubbelklicka på LongPathsEnabled . Se(Value data:) till att siffran 1 finns i fältet Värdedata :. Klicka på OK för att genomföra ändringen.

Avsluta Registereditorn(Registry Editor) och du borde kunna arbeta med galet långa filsökvägar nu.

(Make) Windows 10 Pro eller Enterprise att acceptera långa filvägar(Pro Or Enterprise Accept Long File Paths)

För att tillåta Windows 10 Pro eller Enterprise att använda långa filsökvägar kommer vi att använda grupprincipredigeraren(Group Policy Editor) . Det är ett verktyg som låter oss ställa in policyer för hur Windows fungerar på dator- och användarnivå.

Vi har flera artiklar om att använda grupppolicy för att göra saker som att inaktivera eller aktivera Internet Explorer-alternativ( disabling or enabling Internet Explorer options) , eller lägga till ett meddelande på inloggningsskärmen( adding a message to the logon screen) .

Öppna grupprincipredigeraren(Group Policy Editor) genom att gå till Start - menyn och skriva in gpedit . Det bästa resultatet bör vara Redigera grupppolicy(Edit group policy) . Dubbelklicka på det.

När grupprincipredigeraren(Group Policy Editor) öppnas, navigera till Computer Configuration > Administrative Templates > System > Filesystem . Där ser du policyn Aktivera Win32 långa vägar(Enable Win32 long paths) .

Dubbelklicka på den för att redigera policyinställningen. Ändra den från Inaktiverad(Disabled ) till Aktiverad(Enabled) och klicka sedan på OK -knappen för att genomföra ändringen. 

Policyn kanske inte träder i kraft direkt. Du kan dock tvinga grupppolicyn att uppdateras( force the group policy to update) .

Det är allt(That’s It)

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



About the author

Jag är en webbutvecklare med över 10 års erfarenhet av att arbeta med webbläsarna Firefox och Google Docs. Jag är specialist på att skapa enkla men kraftfulla onlineapplikationer och har utvecklat webbaserade lösningar för både små företag och stora organisationer. Min kundbas inkluderar några av de största företagen, inklusive FedEx, Coca Cola och Macy's. Mina kunskaper som utvecklare gör mig till en idealisk kandidat för alla projekt som behöver slutföras snabbt och effektivt - från att utveckla anpassade webbplatser till att skapa robusta e-postmarknadsföringskampanjer.



Related posts