A “Túl hosszú a fájlnév” probléma javítása a Windowsban

Ha valaha is találkoztál ezzel a problémával, valószínűleg egyszerű volt a javítás. Ha több mint kétszer látta ezt a hibát, akkor azt is tudja, hogy néha összetett probléma lehet a javítása.

Reméljük, hogy csak az egyszerű javítási fajtába futsz bele, de felkészítünk a kevésbé egyszerű, garantáltan működő javításokra is.

Miért jelent egyáltalán problémát a fájlnév hossza a Windowsban?

A fájlnevek hossza régóta problémát jelent az olyan operációs rendszereknél, mint a Windows. Volt idő, amikor a fájlnevek nem lehettek hosszabbak 8 karakternél, plusz egy 3 karakteres fájlkiterjesztésnél. A legjobb, amit tehettünk, valami olyasmi volt, mint a myresume.doc. Ezt a korlátozást a fájlrendszer kialakítása tette lehetővé.

A Windows új verzióinak megjelenésével a helyzet javult. A régi, korlátozott fájlrendszerről áttértünk az NTFS (New Technology File System) nevű rendszerre. Az NTFS olyan szintre vitt minket, ahol egy fájlnév 255 karakter hosszú lehetett, és a fájl elérési útvonalának hossza 32 767 karakterig terjedhetett. Hogyan lehetnek tehát túl hosszú fájlneveink?

A Windowsnak vannak úgynevezett rendszerváltozók. Ezek olyan változók, amelyekre a Windows a működéséhez támaszkodik, mert a Windows mindig tudni fogja, hogy a változók mit jelentenek és hol vannak, még akkor is, ha biteket és bájtokat mozgatunk mindenfelé. A MAX_PATH rendszerváltozó az, amely a fájlneveket és a fájl elérési útvonalakat 260 karakter alatti értékre korlátozza.

Mivel egy változóról van szó, azt gondolnánk, hogy meg tudjuk változtatni. Nem, nem kellene. Olyan lenne, mintha egy pulóverből húznánk ki egy szálat. Amint egy rendszerváltozó megváltozik, a többi rendszerváltozó és a tőlük függő komponensek is elkezdenek kibogozódni.

Hogyan javítsuk meg akkor?

A könnyű megoldás

Ha szerencsénk van, megkapjuk a hibát, és pontosan tudjuk, hogy melyik fájl neve okozza a problémát. Vagy legalábbis azt, hogy hol találod a fájlt. Lehet, hogy a fájlneve valahogy így néz ki:

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

Ez esetben nyilvánvaló, hogy ki a hibás. Keresse meg a fájlt a Windows Intézőben, vagy ahogy a Windows 10-ben hívják, a Fájlkeresőben, kattintson rá egyszer, nyomja meg az F2 billentyűt az átnevezéshez, és változtassa meg ezt a buta fájlnevet valami értelmesebbre. Probléma megoldva.

A kevésbé egyszerű javítások

Nem mindig ilyen egyszerű megoldani ezt a problémát. Előfordulhat, hogy valamilyen okból kifolyólag nem tudja megváltoztatni a fájlok vagy könyvtárak nevét.

A következő megoldások megteszik a magukét. Nem nehéz őket végrehajtani.

Fájlok vagy könyvtárak áthelyezése, törlése vagy másolása a PowerShell használatával

Néha hibaüzenetet kap, amikor olyan könyvtárakat próbál áthelyezni, törölni vagy másolni, ahol a fájl elérési útvonalának karakterszáma 260-nál több.

Megjegyezzük, hogy a könyvtár és a mappa szavak felcserélhetők. A továbbiakban a “könyvtár” szót fogjuk használni. A következő PowerShell-cmdleteket is használhatjuk fájlokra.

Talán a fájl elérési útja valahogy így néz ki:

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

Ez a fájl elérési útja 280 karakter hosszú. Így nem tudjuk a könyvtárat onnan másolni máshová a szokásos copy-paste módszerrel. A Cél elérési útvonal túl hosszú hibát kapunk.

Tegyük fel, hogy valamilyen oknál fogva nem tudjuk átnevezni azokat a könyvtárakat, amelyekbe a fájl beágyazódott. Mit tegyünk?

Nyissuk meg a PowerShell programot. Ha még nem használta a PowerShellt, olvassa el a PowerShell használata otthoni felhasználók számára – Kezdő útmutató című cikkünket. A következő lépéseket azonban a cikk elolvasása nélkül is elvégezheti.

A PowerShell megnyitásakor a felhasználói könyvtár gyökerében lesz. Kövesse végig, feltételezve, hogy a C:\Users\guymc a felhasználói könyvtár.

A This nevű könyvtár a Documents könyvtáron belül található. A Documents könyvtárba való átlépéshez a cd Documents DOS-parancsot használjuk.

A promptban a C:\Users\guymc\Documents könyvtárra változik. Ez így jó. Közelebb dolgozunk a könyvtárakhoz, ami megkönnyíti a dolgunkat.

Copy Directory Using Copy-Item

A This könyvtárat és annak tartalmát szeretnénk átmásolni a ThatNewFolder könyvtárba. Használjuk a Copy-Item PowerShell cmdletet a -Destination és -Recurse paraméterekkel.

A célállomás megadja a PowerShellnek, hogy hova szeretnénk a másolást. A -Recurse azt mondja a PowerShellnek, hogy a benne lévő összes elemet másolja a célba. A másolás az eredetit ott hagyja, ahol van, és minden újat készít a célban.

Copy-Item This -Destination ThatNewFolder -Recurse

Move Directory Using Move-Item

Tegyük fel, hogy a This könyvtárat és a benne lévő összes könyvtárat és fájlt át akarjuk helyezni a ThatNewFolder könyvtárba. A mozgatás nem hagyja meg az eredetit a helyén.

A PowerShell Move-Item cmdletet használhatjuk a -Path és -Destination paraméterekkel. A -Path meghatározza az áthelyezni kívánt elemet, a -Destination pedig megmondja a PowerShellnek, hogy hová akarjuk áthelyezni.

A cmdlet a This-t a ThatNewFolder mappába helyezi. Mindent átmozgat, ami a This könyvtáron belül van. A Move-Item parancs fájlok vagy könyvtárak áthelyezésére használható, és a fájl elérési útvonalától vagy a fájlnév hosszától függetlenül működik.

Move-Item -Path This -Destination ThatNewFolder

Hogy megbizonyosodjunk róla, hogy működött, a cd ThatNewFolder paranccsal lépjünk be a ThatNewFolder-be. Ezután a dir paranccsal listázza ki a ThatNewFolderben lévő könyvtárakat. Látni fogja, hogy a This könyvtár benne van.

Könyvtár törlése a Remove-Item használatával

Ha törölni akarjuk a This könyvtárat és mindent, ami benne van, akkor a Remove-Item cmdletet használjuk.

A Remove-Item cmdletnek van némi beépített biztonsága, ami megnehezíti egy olyan könyvtár törlését, amelyben dolgok vannak. Példánkban tudjuk, hogy mindent törölni akarunk, ezért a -Recurse paramétereket használjuk, hogy mindent töröljön, ami benne van, és a -Force paramétert, hogy ezt anélkül tegye meg, hogy megkérdezné tőlünk, hogy biztosak vagyunk-e minden benne lévő elemnél.

Vigyázat! Az így törölt dolgok visszaállítása rendkívül nehéz lenne. Megpróbálkozhatunk a Hogyan állítsuk vissza a véletlenül törölt fájlokat című fejezetben leírt módszerekkel, de ne várjunk sokat.

Remove-Item This -Recurse -Force

A dir parancsot használhatjuk újra, hogy megbizonyosodjunk róla, hogy eltűnt.

Make Windows 10 Accept Long File Paths

Ha tudja, hogy ismételten hosszú fájlútvonalakat és hosszú fájlneveket fog használni, könnyebben ráveheti a Windowst, hogy dolgozzon önnek. Nincs értelme a PowerShell segítségével minden nap elvégezni a munkát.

Ezt kétféleképpen is megtehetjük. Az egyik a Windows 10 Home felhasználóknak, a másik pedig a Windows 10 Pro vagy Enterprise felhasználóknak. Ezek a módszerek Windows 8.1 vagy korábbi Windows 8.1 esetén is működhetnek, de ezt nem tudjuk garantálni.

A Windows 10 Home hosszú fájlútvonalak elfogadására

A Windows 10 Home hosszú fájlútvonalak elfogadására való rávezetéséhez meg kell nyitnunk a beállításszerkesztőt. Ha még nem dolgozott korábban Registry Editorban, legyen óvatos. Ha véletlenül törlünk vagy módosítunk itt dolgokat, az teljesen leállíthatja a Windows működését.

Minden változtatás előtt mindig készítsen biztonsági másolatot a rendszerleíró adatbázisról. Mindent, amit erről tudnia kell, megtudhat a Windows rendszerleíró adatbázisának biztonsági másolatának és visszaállításának végső útmutatójából.

Mihelyt megnyitotta a Registry Editor-t, és elkészítette a biztonsági mentést, navigáljon a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem helyre, és keresse meg a LongPathsEnabled kulcsot.

Dupla kattintás a LongPathsEnabled-re. A Value data: mezőben győződjön meg róla, hogy az 1-es szám van benne. Kattintson az OK gombra a módosítás rögzítéséhez.

Lépjen ki a Registry Editorból, és most már képesnek kell lennie arra, hogy őrült hosszú fájlútvonalakkal dolgozzon.

Make Windows 10 Pro Or Enterprise Accept Long File Paths

A Windows 10 Pro vagy Enterprise hosszú fájlútvonalak használatának engedélyezéséhez a csoportházirend-szerkesztőt fogjuk használni. Ez egy olyan eszköz, amely lehetővé teszi számunkra, hogy házirendeket állítsunk be a Windows működésére vonatkozóan a számítógép és a felhasználó szintjén.

A csoportházirend használatával több cikkünk is foglalkozik, például az Internet Explorer beállításainak letiltásával vagy engedélyezésével, vagy egy üzenet hozzáadásával a bejelentkezési képernyőhöz.

A csoportházirend-szerkesztőt a Start menüben a gpedit beírásával nyissuk meg. A legfelső eredménynek a Csoportházirend szerkesztésének kell lennie. Kattintson erre duplán.

Amint megnyílik a csoportházirend-szerkesztő, navigáljon a Számítógép konfigurációja > Felügyeleti sablonok > Rendszer > Fájlrendszer menüpontra. Ott megtalálja a Win32 hosszú elérési utak engedélyezése házirendet.

A házirend-beállítás szerkesztéséhez kattintson rá duplán. Változtassa meg Letiltottról Engedélyezettre, majd kattintson az OK gombra a módosítás rögzítéséhez.

A házirend nem biztos, hogy azonnal hatályba lép. A csoportházirend frissítését azonban kikényszerítheti.

Ez minden

A hosszú fájlnevek és fájlútvonalak kezelésének más módjai is vannak, de amit itt végigvettünk, azok a legegyszerűbb, leghatékonyabb módszerek.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.