Hoe repareer ik het probleem ‘Bestandsnaam is te lang’ in Windows

Als u dit probleem ooit hebt gezien, was het waarschijnlijk een eenvoudige oplossing voor u. Als u deze fout meer dan twee keer hebt gezien, dan weet u ook dat het soms een ingewikkeld probleem kan zijn om op te lossen.

Laten we hopen dat u alleen de gemakkelijke oplossingen tegenkomt, maar we bereiden u ook voor op de minder gemakkelijke, gegarandeerd werkende oplossingen.

Waarom is bestandsnaamlengte eigenlijk een probleem in Windows?

Er is een lange geschiedenis van bestandsnaamlengtes die een probleem vormen voor besturingssystemen als Windows. Er was een tijd dat bestandsnamen niet langer mochten zijn dan 8 karakters plus een bestandsextensie van 3 karakters. Het beste wat je kon doen was iets als myresume.doc. Dit was een beperking die was opgelegd door het ontwerp van het bestandssysteem.

De dingen werden beter naarmate er nieuwe versies van Windows uitkwamen. We gingen van een oud, beperkt bestandssysteem naar iets dat het New Technology File System (NTFS) werd genoemd. NTFS bracht ons op een punt waar een bestandsnaam 255 karakters lang kon zijn, en de lengte van het bestandspad kon oplopen tot 32.767 karakters. Hoe kunnen we dan bestandsnamen hebben die te lang zijn?

Windows heeft dingen die bekend staan als systeemvariabelen. Dit zijn variabelen waarop Windows vertrouwt om te kunnen functioneren, omdat Windows altijd weet wat de variabelen betekenen en waar ze zijn, zelfs als we overal bits en bytes heen en weer schuiven. De systeemvariabele MAX_PATH beperkt bestandsnamen en bestandspaden tot minder dan 260 tekens.

Omdat het een variabele is, zou je denken dat we die kunnen wijzigen. Nee, dat kunnen we niet. Dat zou hetzelfde zijn als een draad uit een trui trekken. Zodra een systeemvariabele verandert, beginnen andere systeemvariabelen en onderdelen die daarvan afhankelijk zijn, te ontrafelen.

Hoe lossen we het dan op?

De gemakkelijke oplossing

Als u geluk hebt, krijgt u de foutmelding en weet u precies hoe het bestand heet dat het probleem veroorzaakt. Of in ieder geval waar u het bestand kunt vinden. Misschien heeft u een bestandsnaam die er ongeveer zo uitziet:

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

Het is duidelijk wie de dader is in dit geval. Zoek het bestand in Windows Verkenner, of File Explorer zoals het in Windows 10 heet, klik er een keer op, druk op F2 om het te hernoemen, en verander die domme bestandsnaam in iets redelijkers. Probleem opgelost.

De minder gemakkelijke fixes

Het is niet altijd zo gemakkelijk om dit probleem op te lossen. Soms kun je de namen van bestanden of mappen om wat voor reden dan ook niet veranderen.

De volgende oplossingen kunnen dat voor u doen. Ze zijn niet moeilijk om te doen.

Move, Delete, Or Copy Files Or Directories Using PowerShell

Soms krijg je een fout bij het proberen te verplaatsen, verwijderen, of kopiëren van mappen waar het aantal tekens voor het bestandspad is meer dan 260.

Merk op dat de woorden directory en map uitwisselbaar zijn. We zullen in het vervolg ‘directory’ gebruiken. De volgende PowerShell cmdlets kunnen ook worden gebruikt voor bestanden.

Misschien ziet het bestandspad er ongeveer zo uit:

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

Dat bestandspad is 280 tekens lang. Dus kunnen we de directory daar niet uit kopiëren naar ergens anders met de normale copy-paste methode. We krijgen de foutmelding Destination Path Too Long.

Laten we aannemen dat we om wat voor reden dan ook de directory’s waarin het bestand is genest, niet kunnen hernoemen. Wat moeten we dan doen?

Open PowerShell. Als u PowerShell nog niet hebt gebruikt, lees dan ons artikel PowerShell voor thuisgebruikers gebruiken – een handleiding voor beginners. U kunt de volgende stappen echter ook uitvoeren zonder het artikel te lezen.

Wanneer PowerShell wordt geopend, bevindt u zich in de root van uw gebruikersdirectory. Volg deze stappen en ga ervan uit dat C:gebruikers uw gebruikersdirectory is.

De directory met de naam Dit bevindt zich in de directory Documenten. Om naar de map Documenten te gaan, gebruiken we het DOS-commando cd Documents.

U zult zien dat de prompt verandert in C:\UsersguymcDocuments. Dat is goed. We werken nu dichter bij de directory’s, wat het makkelijker maakt.

Kopieer directory met behulp van Copy-Item

We willen de directory This en de inhoud daarvan kopiëren naar ThatNewFolder. We gebruiken het PowerShell cmdlet Copy-Item met de parameters -Destination en -Recurse.

-Destination vertelt PowerShell waar we de kopie willen hebben. -Recurse vertelt PowerShell om alle items te kopiëren naar de bestemming. Bij het kopiëren blijven de originelen waar ze zijn en worden alle nieuwe gemaakt in de bestemming.

Copy-Item This -Destination ThatNewFolder -Recurse

Move Directory Using Move-Item

Laten we zeggen dat we de directory This, en alle mappen en bestanden die zich daarin bevinden, willen verplaatsen naar ThatNewFolder. Verplaatsen laat het origineel niet op zijn plaats staan.

We kunnen het PowerShell cmdlet Move-Item gebruiken met de parameters -Path en -Destination. -Path definieert het item dat we willen verplaatsen en -Destination vertelt PowerShell waar we het naartoe willen verplaatsen.

Het cmdlet plaatst This in ThatNewFolder. Ook wordt alles verplaatst dat zich in de map This bevindt. Move-Item kan worden gebruikt om bestanden of mappen te verplaatsen, en het werkt ongeacht het bestandspad of de lengte van de bestandsnaam.

Move-Item -Path This -Destination ThatNewFolder

Om er zeker van te zijn dat het werkt, gebruikt u de opdracht cd ThatNewFolder om in ThatNewFolder te komen. Gebruik vervolgens het dir commando om een lijst te maken van de mappen in dieNieuweMap.

Directory verwijderen met Remove-Item

Als we de directory This en alles wat zich daarin bevindt willen verwijderen, gebruiken we het cmdlet Remove-Item.

Het cmdlet Remove-Item heeft een aantal ingebouwde beveiligingen die het moeilijk maken om een directory te verwijderen met dingen er in. In ons voorbeeld weten we dat we alles willen verwijderen, dus we gebruiken de parameters -Recurse om alles te verwijderen en -Force om dat te doen zonder ons te vragen of we het zeker weten voor elk item erin.

Waarschuwing! Het terughalen van iets dat op deze manier verwijderd is, is erg moeilijk. Je kunt de methodes uit How to Recover Accidentally Deleted Files proberen, maar verwacht niet veel.

Remove-Item This -Recurse -Force

Je kunt het dir-commando opnieuw gebruiken om er zeker van te zijn dat het weg is.

Zorg ervoor dat Windows 10 lange bestandspaden accepteert

Als u weet dat u lange bestandspaden en lange bestandsnamen herhaaldelijk gaat gebruiken, is het eenvoudiger om Windows voor u te laten werken. Het heeft geen zin om elke dag PowerShell te gebruiken om dat werk te doen.

Er zijn twee manieren waarop we dit kunnen doen. De ene is voor Windows 10 Home gebruikers en de andere is voor Windows 10 Pro of Enterprise gebruikers. Deze methoden werken mogelijk ook voor Windows 8.1 of eerder, maar dat kunnen we niet garanderen.

Make Windows 10 Home Accept Long File Paths

Om Windows 10 Home lange bestandspaden te laten accepteren, moeten we de Register-editor openen. Als u nog niet eerder in de Register-editor hebt gewerkt, wees dan voorzichtig. Per ongeluk dingen hier verwijderen of veranderen kan ervoor zorgen dat Windows niet meer volledig werkt.

Maak altijd een backup van uw register voordat u wijzigingen aanbrengt. Lees alles wat u daarover moet weten in onze Ultimate Guide to Backing Up and Restoring the Windows Registry.

Als u Register-editor hebt geopend en een back-up hebt gemaakt, navigeert u naar de locatie HKEY_LOCAL_MACHINE\SYSTEM-CurrentControlSet-Control\FileSystem en zoekt u de sleutel LongPathsEnabled.

Dubbelklik op LongPathsEnabled. Zorg ervoor dat in het veld Waardegegevens: het getal 1 staat. Klik op OK om de wijziging vast te leggen.

Verlaat de Register-editor en u zou nu in staat moeten zijn om met waanzinnig lange bestandspaden te werken.

Maken dat Windows 10 Pro Or Enterprise lange bestandspaden accepteert

Om Windows 10 Pro of Enterprise in staat te stellen lange bestandspaden te gebruiken, gaan we de Groepsbeleid-editor gebruiken. Het is een hulpmiddel waarmee we beleid kunnen instellen over hoe Windows werkt op computer- en gebruikersniveau.

We hebben verschillende artikelen over het gebruik van groepsbeleid om dingen te doen zoals het in- of uitschakelen van opties voor Internet Explorer of het toevoegen van een bericht aan het inlogscherm.

Open de groepsbeleid-editor door naar het menu Start te gaan en gpedit in te typen. Het bovenste resultaat moet zijn Groepsbeleid bewerken. Dubbelklik daarop.

Wanneer de groepsbeleid-editor wordt geopend, navigeert u naar Computerconfiguratie > Administratieve sjablonen > Systeem > Bestandssysteem. Daar ziet u het beleid Win32 lange paden inschakelen.

Doe er een dubbelklik op om de beleidsinstelling te bewerken. Wijzig deze van Uitgeschakeld in Ingeschakeld en klik vervolgens op de knop OK om de wijziging vast te leggen.

Het beleid treedt mogelijk niet onmiddellijk in werking. U kunt het groepsbeleid wel dwingen om het bij te werken.

That’s It

Er zijn enkele andere manieren om lange bestandsnamen en bestandspaden te omzeilen, maar wat we hier hebben doorgenomen, zijn de eenvoudigste, meest effectieve methoden.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.