A „Túl hosszú fájlnév” probléma megoldása a Windows rendszerben

Ha valaha is látta ezt a problémát, valószínűleg egyszerű megoldás volt az Ön számára. Ha többször is látta ezt a hibát, akkor azt is tudja, hogy néha bonyolult probléma lehet a javítása.

Reméljük, hogy csak a könnyen javítható változattal találkozik, de felkészítünk a kevésbé egyszerű, garantáltan működő javításokra is.

Miért is probléma a fájlnév hossza a Windows rendszerben?(Why Is Filename Length Even An Issue In Windows?)

A fájlnevek hossza régóta problémát jelent az olyan operációs rendszerekben, mint a Windows . Volt idő, amikor nem lehetett 8 karakternél hosszabb fájlneveket és 3 karakteres fájlkiterjesztést. A legjobb, amit tehettél, valami olyasmi volt, mint a myresume.doc . Ez a fájlrendszer kialakítása miatti korlátozás volt.

A dolgok javultak, ahogy megjelentek a Windows új verziói . Egy régi, korlátozott fájlrendszerről a New Technology File System ( NTFS ) nevű valamire váltunk. Az NTFS(NTFS) odáig vezetett, hogy a fájlnév 255 karakter hosszú lehet, a fájl elérési útja pedig akár 32 767 karaktert is elérhet. Tehát hogyan lehetnek túl hosszúak a fájlneveink?

A Windows(Windows) rendszerváltozóknak nevezett dolgokkal rendelkezik. Ezek olyan változók, amelyek működéséhez a Windows támaszkodik, mert a Windows mindig tudja, mit jelentenek a változók és hol vannak, még akkor is, ha biteket és bájtokat mozgatunk mindenfelé. A MAX_PATH rendszerváltozó az, amely 260 karakternél rövidebbre korlátozza a fájlneveket és a fájl elérési utat.

Változóról lévén szó, azt hinné, meg tudjuk változtatni. Nem, nem kellene. Olyan lenne, mintha egy cérnát húznánk ki egy pulóverből. Amint az egyik rendszerváltozó megváltozik, a többi rendszerváltozó és a tőlük függő összetevők feloldódnak.

Akkor hogyan javítsuk meg?

Az Easy Fix(The Easy Fix)

Ha szerencséje van, akkor megjelenik a hibaüzenet, és pontosan tudja, melyik fájlnév okozza a problémát. Vagy legalább hol található a fájl. Lehet, hogy van egy fájlneve, ami valahogy így néz ki:

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

Nyilvánvaló, hogy ebben az esetben ki az elkövető. Keresse meg a fájlt a Windows Intézőben(Windows Explorer) vagy a Windows 10 nevén File Explorerben(File Explorer) , kattintson rá egyszer, nyomja meg az F2 billentyűt(F2) az átnevezéshez, és módosítsa az ostoba fájlnevet valami ésszerűbbre. Probléma(Problem) megoldva.

A kevésbé egyszerű javítások(The Less Easy Fixes)

Ezt a problémát nem mindig olyan egyszerű orvosolni. Előfordulhat, hogy bármilyen okból nem tudja megváltoztatni a fájlok vagy könyvtárak nevét.

A következő megoldások megcsinálják a trükköt. Nem nehéz megcsinálni.

(Move)Fájlok vagy könyvtárak (Or Copy Files Or Directories Using PowerShell)áthelyezése , törlése(Delete) 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 útja karakterszáma meghaladja a 260-at.

Vegye figyelembe, hogy a könyvtár és a mappa szavak felcserélhetők. A továbbiakban a „könyvtárat” fogjuk használni. A következő PowerShell -parancsmagok is használhatók fájlokon.

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

A fájl elérési útja 280 karakter hosszú. Tehát nem másolhatjuk ki a könyvtárat onnan máshová a normál másolás-beillesztés módszerrel. A Destination Path Too Long hibát kapjuk.

Tegyük fel, hogy bármilyen okból sem tudjuk átnevezni azokat a könyvtárakat, amelyekbe a fájl be van ágyazva. Mit csináljunk?

Nyissa meg a PowerShellt(Open PowerShell) . Ha még nem használta a PowerShellt , olvassa el a (PowerShell)PowerShell használata otthoni felhasználóknak – Útmutató kezdőknek(Using PowerShell for Home Users – A Beginner’s Guide) című cikkünket . A következő lépéseket azonban a cikk elolvasása nélkül is megteheti.

Amikor megnyílik a PowerShell , Ön a felhasználói címtár gyökerében lesz. Kövesse(Follow) ezt , feltételezve, hogy a C:\Users\guymc a felhasználói könyvtára.

A This nevű könyvtár a Dokumentumok(Documents) könyvtárban található. A Dokumentumok(Documents) könyvtárba való belépéshez a DOS cd Documents parancsot használjuk . 

C:\Users\guymc\Documents azonnali változás . Az jó. Közelebb dolgozunk a könyvtárakhoz, ami megkönnyíti a dolgokat.

Könyvtár másolása a Copy-Item használatával

A This(This) könyvtárat és annak tartalmát át akarjuk másolni a ThatNewFolder mappába(ThatNewFolder) . Használjuk a PowerShell Copy-Item parancsmagot a (Copy-Item)-Destination és -Recurse paraméterekkel .

- A cél megmondja a PowerShellnek(PowerShell) , hogy hol szeretnénk a másolatot. -A Recurse azt mondja a PowerShellnek(PowerShell) , hogy másolja az összes benne lévő elemet a célhelyre. A másolás során az eredetiek a helyükön maradnak, az újak pedig a célhelyen maradnak.

Copy-Item This -Destination ThatNewFolder -Recurse

Könyvtár áthelyezése az Elem áthelyezése segítségével

Tegyük fel, hogy át akarjuk helyezni a This könyvtárat és a benne lévő összes könyvtárat és fájlt a ThatNewFolder mappába(ThatNewFolder) . A mozgatással az eredeti nem marad a helyén.

Használhatjuk a PowerShell Move-Item parancsmagot a (Move-Item)-Path és -Destination paraméterekkel . -Path határozza meg az áthelyezni kívánt elemet, a -Destination pedig(-Destination) megmondja a PowerShellnek(PowerShell) , hogy hova szeretnénk. 

A parancsmag ezt a ThatNewFolder mappába helyezi(ThatNewFolder) . Emellett mindent áthelyez, ami a This könyvtárban található. A Move-Item használható fájlok vagy könyvtárak mozgatására, és a fájl elérési útjától vagy fájlnév hosszától függetlenül működik.

Move-Item -Path This -Destination ThatNewFolder

Ha meg szeretné győződni arról, hogy működik, használja a cd ThatNewFolder parancsot a ThatNewFolder megnyitásához(ThatNewFolder) . Ezután a dir paranccsal listázza ki a ThatNewFolder könyvtárait . Látni fogja, hogy ez a könyvtár ott van.

Könyvtár törlése az Elem eltávolítása funkcióval

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

Az Elem eltávolítása(Remove-Item) parancsmag rendelkezik bizonyos beépített biztonsági funkciókkal, amelyek megnehezítik a benne lévő dolgokat tartalmazó könyvtárak törlését. Példánkban tudjuk, hogy mindent törölni akarunk, ezért a -Recurse paramétereket használjuk , hogy minden belülről töröljön, és a -Force , hogy ezt tegye anélkül, hogy megkérdeznénk, hogy biztosak vagyunk-e minden benne lévő elemben.

Figyelmeztetés! Az így törölt elemek helyreállítása rendkívül nehéz lenne. Kipróbálhatja a Véletlenül törölt fájlok helyreállítása című részben leírt módszereket , de ne várjon sokat.

Remove-Item This -Recurse -Force

A dir paranccsal újra megbizonyosodhat arról, hogy eltűnt.

Tegye a Windows 10-et hosszú fájlútvonalak elfogadására(Make Windows 10 Accept Long File Paths)

Ha tudja, hogy ismételten hosszú fájlelérési utakat és hosszú fájlneveket fog használni, könnyebben működik a Windows . Semmi értelme a PowerShellnek(PowerShell) a mindennapi munka elvégzésére.

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

Tegye a(Make) Windows 10 Home-ot hosszú fájlútvonalak elfogadására(Home Accept Long File Paths)

Ahhoz, hogy a Windows 10 Home elfogadja a hosszú fájl elérési utat, meg kell nyitnunk a Rendszerleíróadatbázis-szerkesztőt(Registry Editor) . Ha még nem dolgozott a Rendszerleíróadatbázis-szerkesztőben(Registry Editor) , legyen óvatos. A dolgok véletlen törlése vagy módosítása itt teljesen leállíthatja a Windows működését.

Bármilyen változtatás előtt mindig készítsen biztonsági másolatot a beállításjegyzékről. Tudjon meg mindent, amit erről tudnia kell: Végső útmutatónk a Windows rendszerleíró adatbázis biztonsági mentéséről és visszaállításáról( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Miután megnyitotta a Rendszerleíróadatbázis - szerkesztőt(Editor) , és elkészítette a biztonsági másolatot, keresse meg a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem helyet, és keresse meg a LongPathsEnabled kulcsot .

Kattintson duplán a LongPathsEnabled elemre . Az Értékadatok:(Value data:) mezőben ellenőrizze, hogy az 1 -es szám szerepel-e. Kattintson az OK gombra(OK) a változtatás végrehajtásához.

Lépjen ki a Rendszerleíróadatbázis-szerkesztőből(Registry Editor) , és most már őrülten hosszú fájlútvonalakkal dolgozhat.

Tegye a(Make) Windows 10 Pro vagy Enterprise rendszert hosszú fájlútvonalak elfogadására(Pro Or Enterprise Accept Long File Paths)

Ahhoz, hogy a Windows 10 Pro vagy Enterprise hosszú fájlútvonalakat használhasson, a (Enterprise)Csoportházirend-szerkesztőt(Group Policy Editor) fogjuk használni . Ez egy olyan eszköz, amely lehetővé teszi, hogy házirendeket állítsunk be a Windows számítógépes és felhasználói szintű működésére vonatkozóan.

Számos cikkünk van a csoportházirend használatával kapcsolatban, például az Internet Explorer opcióinak letiltása vagy engedélyezése( disabling or enabling Internet Explorer options) , vagy üzenet hozzáadása a bejelentkezési képernyőhöz( adding a message to the logon screen) .

Nyissa meg a Csoportházirend-szerkesztőt(Group Policy Editor) a Start menüben, és írja be a gpedit parancsot(gpedit) . A legjobb eredmény a Csoportházirend szerkesztése(Edit group policy) lesz . Kattintson duplán erre.

Miután megnyílik a Csoportházirend-szerkesztő(Group Policy Editor) , lépjen a Computer Configuration > Administrative Templates > System > Filesystem . Itt láthatja a Win32 hosszú elérési útjai engedélyezése(Enable Win32 long paths) házirendet .

Kattintson duplán a házirend-beállítás szerkesztéséhez. Módosítsa a Letiltott(Disabled ) értékről az Engedélyezett értékre(Enabled) , majd kattintson az OK gombra a módosítás végrehajtásához. 

Előfordulhat, hogy a szabályzat nem lép azonnal hatályba. Kényszerítheti azonban a csoportházirend frissítését( force the group policy to update) .

Ez az(That’s It)

Vannak más módszerek is a hosszú fájlnevek és fájl elérési utak megkerülésére, de itt a legegyszerűbb és leghatékonyabb módszerekről beszéltünk.



About the author

Számítógép-programozó vagyok, és több mint 15 éve. Szakértelmem szoftveralkalmazások fejlesztésében és karbantartásában, valamint ezen alkalmazások technikai támogatásában rejlik. Számítógép-programozást is tanítottam középiskolásoknak, jelenleg pedig profi oktató vagyok.



Related posts