Sådan løser du problemet med ‘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 løse nogle gange.

Lad os håbe, at du kun løber ind i den nemme rettelsesvariant, men vi forbereder dig også på de mindre nemme rettelser, der garanteret virker.

Hvorfor er filnavnslængde overhovedet et problem i Windows?

Der er en lang historie med filnavnslængder, der er et problem for styresystemer som Windows. Der var en tid, hvor man ikke kunne have filnavne, der var længere end 8 tegn plus en filudvidelse på 3 tegn. Det bedste, man kunne gøre, var noget som myresume.doc. Det var en begrænsning, der var indført ved udformningen af filsystemet.

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

Windows har ting, der er kendt som systemvariabler. Det er variabler, som Windows er afhængig af for at kunne fungere, fordi Windows altid vil vide, hvad variablerne betyder, og hvor de er, selv når vi flytter bits og bytes over det hele. Systemvariablen MAX_PATH er den variabel, der begrænser filnavne og filstier til under 260 tegn.

Da det er en variabel, skulle man tro, at vi kunne ændre den. Nej, det bør vi ikke. Det ville være som at hive en tråd ud af en sweater. Så snart en systemvariabel ændres, begynder andre systemvariabler og komponenter, der er afhængige af dem, at gå i opløsning.

Hvordan løser vi det så?

Den nemme løsning

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

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

Det er tydeligt, hvem der er synderen i dette tilfælde. Find filen i Windows Stifinder, eller File Explorer, som den hedder i Windows 10, klik én gang på den, tryk F2 for at omdøbe den, og ændr det fjollede filnavn til noget mere fornuftigt. Problemet er løst.

De mindre nemme løsninger

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

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

Flytte, slette eller kopiere filer eller mapper ved hjælp af PowerShell

Sommetider får du en fejl, når du forsøger at flytte, slette eller kopiere mapper, hvor antallet af tegn for filstien er mere end 260.

Bemærk, at ordene mappe og mappe kan erstattes af hinanden. Vi vil fremover bruge “mappe”. 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 ud derfra til et andet sted med den normale copy-paste-metode. Vi får fejlen Destinationsstien er for lang.

Lad os antage, at vi af en eller anden grund ikke kan omdøbe de mapper, som filen er indlejret i. Hvad gør vi?

Opnå PowerShell. Hvis du endnu ikke har brugt PowerShell, kan du læse vores artikel Using PowerShell for Home Users – A Beginner’s Guide (Brug af PowerShell for private brugere – en guide for begyndere). Du kan dog godt udføre de næste trin uden at læse artiklen.

Når PowerShell åbnes, befinder du dig ved roden af din brugermappe. Følg med, idet du antager, at C:\Users\guymc er din brugermappe.

Mappen med navnet Dette er inde i mappen Dokumenter. For at flytte ind i mappen Documents bruger vi DOS-kommandoen cd Documents.

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

Kopier mappe ved hjælp af Copy-Item

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

-Destination fortæller PowerShell, hvor vi ønsker, at kopien skal være. -Recurse fortæller PowerShell, at alle elementerne indeni skal kopieres til destinationen. Ved kopiering efterlades originalerne, hvor de er, og der laves alle nye i destinationen.

Copy-Item This -Destination ThatNewFolder -Recurse

Flyt mappe ved hjælp af Move-Item

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

Vi kan bruge PowerShell-cmdletten Move-Item med parametrene -Path og -Destination. -Path definerer det element, vi ønsker at flytte, og -Destination fortæller PowerShell, hvor vi ønsker det.

Cmdletten vil placere This inde i ThatNewFolder. Den vil også flytte alt, der er inde i This-mappen. Move-Item kan bruges til at flytte filer eller mapper, og det fungerer uanset filsti 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 kommandoen dir for at få en liste over mapperne i ThatNewFolder. Du vil se, at This-mappen er deri.

Slet mappen ved hjælp af Remove-Item

Hvis vi vil slette This-mappen og alt, hvad der er i den, bruger vi cmdletten Remove-Item.

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

Vær advaret! Det vil være ekstremt vanskeligt at genoprette alt, der er slettet på denne måde. Du kan prøve metoderne i Sådan gendanner du ved et uheld slettede filer, men forvent ikke meget.

Remove-Item This -Recurse -Force

Du kan bruge kommandoen dir igen for at sikre dig, at det er væk.

Få Windows 10 til at acceptere lange filstier

Hvis du ved, at du vil bruge lange filstier og lange filnavne gentagne gange, er det nemmere at få Windows til at arbejde for dig. Det giver ingen mening at bruge PowerShell til at gøre arbejdet hver dag.

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

Få Windows 10 Home til at acceptere lange filstier

For at få Windows 10 Home til at acceptere lange filstier skal vi åbne Registreringseditoren. Hvis du ikke har arbejdet i Registreringseditor før, skal du være forsigtig. Hvis du ved et uheld sletter eller ændrer ting herinde, kan du stoppe Windows helt fra at fungere.

Gør altid en sikkerhedskopi af din registreringsdatabase, før du foretager ændringer. Få alt, hvad du behøver at vide om det, i vores ultimative guide til sikkerhedskopiering og gendannelse af Windows-registreringsdatabasen.

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

Dobbeltklik på LongPathsEnabled. I feltet Value data: skal du sikre dig, at tallet 1 står der. Klik på OK for at bekræfte ændringen.

Afslut Registreringseditor, og du burde kunne arbejde med vanvittigt lange filstier nu.

Få Windows 10 Pro eller Enterprise til at acceptere lange filstier

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

Vi har flere artikler om brug af gruppepolitikker til at gøre ting som at deaktivere eller aktivere indstillinger for Internet Explorer eller tilføje en meddelelse på logonskærmen.

Åbn gruppepolitikeditoren ved at gå til menuen Start og skrive gpedit. Det øverste resultat bør være Rediger gruppepolitik. Dobbeltklik på det.

Når redigeringsprogrammet for gruppepolitikker åbnes, skal du navigere til Computerkonfiguration > Administrative skabeloner > System > Filsystem. Der kan du se politikken Aktiver Win32 lange stier.

Dobbeltklik på den for at redigere politikindstillingen. Ændr den fra Deaktiveret til Aktiveret, og klik derefter på knappen OK for at bekræfte ændringen.

Politikken træder muligvis ikke i kraft med det samme. Du kan dog tvinge gruppepolitikken til at blive opdateret.

Det var det

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.