Sådan rettes problemet 'Filnavn er for langt' i Windows

Hvis du nogensinde har set dette problem, var det sandsynligvis en simpel løsning for dig. Hvis du har set denne fejl mere end to gange, så ved du også, at det kan være et komplekst problem at rette nogle gange.

Lad os håbe, at du kun støder på den nemme løsning, men vi forbereder dig på de mindre nemme, garanteret også fungerende rettelser.

Hvorfor er filnavnslængde endda et problem i Windows?(Why Is Filename Length Even An Issue In Windows?)

Der er en lang historie med filnavnslængder, der er et problem for operativsystemer som Windows . Der var engang, hvor du ikke kunne have filnavne længere end 8 tegn plus en 3-tegns filtypenavn. Det bedste du kunne gøre var noget som myresume.doc . Dette var en begrænsning på plads af designet af filsystemet.

Tingene blev bedre, efterhånden som nye versioner af Windows kom ud. Vi gik fra et gammelt, begrænset filsystem til noget, der hedder New Technology File System ( NTFS ). NTFS tog os til et punkt, hvor et filnavn kunne være 255 tegn langt, og filstiens længde kunne potentielt gå op til 32.767 tegn. Så hvordan kan vi have filnavne, der er for lange?

Windows har ting kendt som systemvariabler. Disse er variabler, som Windows er afhængige af for at fungere, fordi Windows altid ved, hvad variablerne betyder, og hvor de er, selv når vi flytter bits og bytes overalt. Systemvariablen MAX_PATH er den, der begrænser filnavne og filstier til under 260 tegn.

Da du er en variabel, skulle du tro, at vi kunne ændre den. Nej, det skal vi ikke. Det ville være som at trække en tråd ud af en sweater. Så snart en systemvariabel ændres, begynder andre systemvariabler og komponenter, der er afhængige af dem, at optrevle.

Hvordan fikser vi det så?

Den nemme løsning(The Easy Fix)

Hvis du er heldig, får du fejlen og ved præcis, hvilket filnavn der forårsager problemet. Eller i det mindste hvor man kan finde filen. Måske har du et filnavn, der ser sådan ud:

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

Det er indlysende, hvem gerningsmanden er i denne sag. Find filen i Windows Stifinder(Windows Explorer) eller File Explorer , som den hedder i Windows 10 , klik én gang på den, tryk på F2 for at omdøbe den, og skift det fjollede filnavn til noget mere fornuftigt. Problem løst.

De mindre nemme rettelser(The Less Easy Fixes)

Det er ikke altid så nemt at løse dette problem. Nogle gange er du muligvis ikke i stand til at ændre navnene på filer eller mapper af en eller anden grund.

Følgende løsninger vil gøre tricket for dig. De er ikke svære at gøre.

Flyt(Move) , slet(Delete) eller kopier filer eller mapper ved hjælp af PowerShell(Or Copy Files Or Directories Using PowerShell)

Nogle gange får du en fejl, når du forsøger at flytte, slette eller kopiere mapper, hvor tegntallet for filstien er mere end 260.

Bemærk, at ordene mappe og mappe er udskiftelige. Vi vil bruge 'katalog' fremover. Følgende PowerShell cmdlets kan også bruges på filer.

Måske ser filstien sådan ud:

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

Denne filsti er 280 tegn lang. Så vi kan ikke kopiere mappen derfra til et andet sted med den normale copy-paste metode. Vi får fejlen Destination Path Too Long .

Lad os antage, at vi uanset årsagen ikke kan omdøbe de mapper, hvori filen er indlejret. Hvad gør vi?

Åbn PowerShell(Open PowerShell) . Hvis du endnu ikke har brugt PowerShell , så nyd vores artikel Brug af PowerShell til hjemmebrugere – en begyndervejledning(Using PowerShell for Home Users – A Beginner’s Guide) . Du kan dog udføre de næste trin uden at læse artiklen.

Når PowerShell åbner, vil du være i roden af ​​din brugermappe. Følg(Follow) med, forudsat at C:\Users\guymc er din brugermappe.

Biblioteket med navnet Dette(This) er inde i dokumentbiblioteket(Documents) . For at flytte ind i dokumentbiblioteket(Documents) bruger vi DOS- kommandoen cd Documents

Du vil se prompten ændre sig til C:\Users\guymc\Documents . Det er godt. Vi arbejder tættere på mapperne, hvilket vil gøre tingene lettere.

Kopier mappe ved hjælp af Copy-Item

Vi ønsker at kopiere mappen This og dens indhold til ThatNewFolder . Lad os bruge PowerShell-cmdlet'en Copy-Item med parametrene -Destination og -Recurse .

-Destination fortæller PowerShell , hvor vi vil have kopien. -Recurse fortæller PowerShell at kopiere alle elementerne inde til destinationen. Kopiering efterlader originalerne, hvor de er, og gør alle nye på destinationen.

Copy-Item This -Destination ThatNewFolder -Recurse

Flyt mappe ved hjælp af Move-Item

Lad os sige, at vi ønsker at flytte mappen This og alle mapperne og filerne i den til ThatNewFolder . Flytning efterlader ikke originalen på plads.

Vi kan bruge PowerShell-cmdlet'en Move-Item med parametrene -Path og -Destination . -Sti definerer det element, vi vil flytte, og -Destination fortæller PowerShell , hvor vi vil have det. 

Cmdlet'en vil placere This inde i ThatNewFolder . Det vil også flytte alt, hvad der er inde i denne mappe. Move-Item kan bruges til at flytte filer eller mapper, og det virker uanset filstien eller filnavnets længde.

Move-Item -Path This -Destination ThatNewFolder

For at sikre, at det virkede, skal du bruge kommandoen cd ThatNewFolder til at komme ind i ThatNewFolder . Brug derefter dir - kommandoen til at vise mapperne i ThatNewFolder . Du vil se denne mappe er derinde.

Slet bibliotek ved hjælp af Remove-Item

Hvis vi ønsker at slette denne(This ) mappe og alt i den, bruger vi Remove-Item cmdlet'en.

Remove-Item cmdlet'en har en vis indbygget sikkerhed, der gør det vanskeligt at slette en mappe med ting inde i den. I vores eksempel ved vi, at vi vil slette alt, så vi bruger parametrene -Recurse for at få det til at slette alt inde og -Tvinge(-Force) det til at gøre det uden at spørge os, om vi er sikre på hvert element indeni.

Vær advaret! Det ville være ekstremt svært at gendanne noget slettet på denne måde. Du kan prøve metoderne i Sådan gendannes utilsigtet slettede filer , men forvent ikke meget.

Remove-Item This -Recurse -Force

Du kan bruge dir-kommandoen igen for at sikre, at den er væk.

Få Windows 10 til at acceptere lange filstier(Make Windows 10 Accept Long File Paths)

Hvis du ved, at du kommer til at bruge lange filstier og lange filnavne gentagne gange, er det nemmere at få Windows til at fungere for dig. Ingen mening med at bruge PowerShell til at udføre arbejdet hver dag.

Der er to måder, vi kan gøre dette på. Den ene er til Windows 10 Home - brugere, og den anden er til Windows 10 Pro eller Enterprise - brugere. Disse metoder fungerer muligvis for Windows 8.1 eller tidligere, men vi kan ikke garantere det.

(Make) Windows 10 Home til at acceptere lange filstier(Home Accept Long File Paths)

For at få Windows 10 Home til at acceptere lange filstier, skal vi åbne registreringseditoren(Registry Editor) . Hvis du ikke har arbejdet i Registreringseditor(Registry Editor) før, skal du være forsigtig. Sletning eller ændring af ting her ved et uheld kan forhindre Windows i at fungere fuldstændigt.

Lav altid en sikkerhedskopi af dit register, før du foretager ændringer. Lær alt, hvad du behøver at vide om det, i vores ultimative guide til sikkerhedskopiering og gendannelse af Windows-registreringsdatabasen( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Når du har åbnet Registreringseditor ,(LongPathsEnabled) og din sikkerhedskopi er lavet, skal du navigere til placeringen HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem(Editor) og finde nøglen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem .

Dobbeltklik på LongPathsEnabled . I feltet Værdidata:(Value data:) skal du sørge for, at tallet 1 er der. Klik på OK(OK) for at foretage ændringen.

Afslut Registry Editor , og du burde være i stand til at arbejde med skøre lange filstier nu.

(Make) Windows 10 Pro eller Enterprise til at acceptere lange filstier(Pro Or Enterprise Accept Long File Paths)

For at tillade Windows 10 Pro eller Enterprise at bruge lange filstier, vil vi bruge Group Policy Editor . Det er et værktøj, der giver os mulighed for at sætte politikker for, hvordan Windows fungerer på computer- og brugerniveau.

Vi har flere artikler om brug af gruppepolitik til at gøre ting som at deaktivere eller aktivere Internet Explorer-indstillinger( disabling or enabling Internet Explorer options) eller tilføje en besked til logonskærmen( adding a message to the logon screen) .

Åbn Group Policy Editor ved at gå til menuen Start og skrive gpedit . Det øverste resultat bør være Rediger gruppepolitik(Edit group policy) . Dobbeltklik på det.

Når Group Policy Editor åbner, skal du navigere til Computer Configuration > Administrative Templates > System > Filesystem . Der vil du se politikken Aktiver Win32 lange stier(Enable Win32 long paths) .

Dobbeltklik på den for at redigere politikindstillingen. Skift det fra Deaktiveret(Disabled ) til Aktiveret(Enabled) , og klik derefter på knappen OK for at foretage ændringen. 

Politikken træder muligvis ikke i kraft med det samme. Du kan dog tvinge gruppepolitikken til at opdatere( force the group policy to update) .

Det er det(That’s It)

Der er nogle andre måder at omgå lange filnavne og filstier på, men det, vi har gennemgået her, er de enkleste og mest effektive metoder.



About the author

I erhvervslivet handler det om at skabe værdi for dine kunder og kunder. Jeg fokuserer på at give trin-for-trin instruktioner, der hjælper mine læsere med at få mest muligt ud af deres hardware og software ved hjælp af Microsoft Office. Mine færdigheder omfatter installation af tastatur og drivere, samt Microsoft Office-support. Med min mange års erfaring i branchen kan jeg hjælpe dig med at dække ethvert hardware- eller softwarebehov, du måtte have.



Related posts