Hogyan lehet eltávolítani egy túl hosszú utat. A fájlnév vagy a forrás elérési útja túl hosszú. Total Commander használata

24.10.2019 hírek

Íme egy példa egy mappaszerkezetre, amelyet „nagy babának” neveztem:

Amint látja, a „D” meghajtón (Adatok) van egy forrás videó mappa, benne van egy „Filmek” mappa, benne van „Minden, ami a filmek megtekintéséhez szükséges”, majd ugyanúgy egy mappa egy mappán belül. Ugyanakkor sok mappának hosszú nevei és nevei vannak - több mint 10-15 karakter, ami összesen több mint 260 karaktert ad az összes névben. És ha egy ilyen „matrjoska” végén van egy fájlt, akkor kiderülhet, hogy nem tud vele dolgozni... Néha maga a rendszer nem engedi meg, hogy végül olyan mappát vagy fájlt hozzon létre, amely meghaladja a megengedett karakterszámot, de néha valamiért ez megtörténik.

Először is, kezdőknek elmagyarázom, mi az a fájl és mappa elérési útja. Az elérési út az úgynevezett cím a számítógépen, ahol a fájl vagy mappa található. Például egy „Saját fájl.txt” nevű fájl a helyi D meghajtón található: a „Dokumentumok” mappában. Ezután a fájl elérési útja így fog kinézni:

D:\Dokumentumok\Saját fájl.txt

Vagy például így fog kinézni a fenti példa elérési útja, ahol egy összetett mappastruktúrát mutattam be.

Amint látja, a fenti elérési út karaktereinek száma nagy, és előfordulhat, hogy a végén lesz egy hosszú nevű fájl vagy mappa, amelyet nem tud törölni.

Amikor megpróbál törölni egy hosszú elérési útnévvel rendelkező fájlt, egy ilyen hibával rendelkező ablak jelenik meg:

Megpróbáltam mesterségesen újrateremteni a problémát, és ez az, amit kaptam.

A „D” meghajtón létrehoztam egy mappát „1” rövid névvel, és elhelyeztem benne egy nagyon hosszú nevű fájlt. Íme egy példa:

Most átnevezem azt a mappát „1”-re valamilyen nagyon hosszú névre, például:

Érdekes módon a Windows szabadon engedi átnevezni egy mappát ilyen hosszú névre, annak ellenére, hogy ennek a mappának a nevében a karakterek száma + fájlnév már meghaladja a 260-at! Nos, miután átneveztem a mappát egy hosszú névre, már nem tudom törölni a benne található fájlt, és megjelenik a hibaüzenet.

Vagy itt van egy másik példa... Karbantartom a Moszkvai Hangszerkészítő Főiskola honlapját, ahol korábban teljes munkaidőben dolgoztam, és néha az oldal egy példányát használom a számítógépemen, hogy teszteljek néhány új „jót” az oldalhoz. Mi van, ha valami rosszat telepítek, és a tárhelyen lévő webhely meghal? :) És hát megnézem a gépemen, és ha minden rendben van, akkor beállítom egy igazi weboldalra, ami a tárhelyen található. Így egy alkalommal átvittem az egész webhelyet a tárhelyről, hogy teszteljek egy dolgot, és miután befejeztem a munkát, úgy döntöttem, hogy törlöm a webhelyet tartalmazó mappát a számítógépemről. Végül is körülbelül 6 GB súlyú. A teljes webhely törölve lett, néhány mappa kivételével. Elkezdtem keresni, és láttam, hogy azok a mappák, amelyek hieroglifák formájában hosszú névvel rendelkező fájlt tartalmaztak, nem törlődnek:

Megpróbáltam újra törölni ezt a hosszú névvel rendelkező fájlt, és ugyanazt a hibát láttam, amit fent említettem. Próbáltam átnevezni, de az sem megy. Nos, át kellett gondolnom, hogyan oldjam meg a problémát.

Hogyan lehet megoldani a hosszú elérési útnévvel rendelkező mappa/fájl törlésének problémáját!

Kétféleképpen próbáltam törölni egy hosszú nevet tartalmazó mappát/fájlt az elérési útjában. Technikailag mindkettő nem nehéz (főleg az 1.), szóval szerintem egy kezdő is megbirkózik, ha mindent pontosan úgy csinál, ahogy mutatom:

    Nevezzen át több mappát a fájl elérési útjában rövidebb névre. Ez a legegyszerűbb megoldás, aminek már sokaknak segítenie kell! Tegyük fel, hogy van egy fájl egy nagyon hosszú nevű mappában, amelyet nem tud törölni, megnyitni, másolni, és általában nem tud vele dolgozni.

    Ezután próbálja egyszerűen átnevezni azt a mappát, amelyben a hosszú nevű fájl található, például „1”-re. Hadd térjek vissza a fenti példák egyikéhez. Itt van egy mappa hosszú névvel:

    A szabványos Windows Intézővel átnevezem a mappa nevét „1”-re, és így néz ki a fájl elérési útja:

    Most már biztonságosan dolgozhat a fájllal, a rendszer lehetővé teszi annak megnyitását, átnevezését és törlését.

    Ha hosszú mappafája van, pl. mint egy fészkelő baba, az egyik mappában van egy másik, abban van egy másik, majd egy másik, majd kezdje el az átnevezést a legelső mappától ebből a fészkelő babából. Nem a lista utolsójával, hanem az elsővel!

    Előfordulhat, hogy nagyon sok mappa van, és ugyanazon hiba miatt nem tudja átnevezni néhányat, vagy ez sok időt vesz igénybe. Ebben az esetben a második módszert javaslom.

    A módszer az, hogy vehetünk valamilyen mappát, például egy közös fa közepén, és virtuális lemezként csatlakoztathatjuk. A virtuális lemez olyan dolog, amely egy szokásos lemezre emlékeztet bennünket. helyi lemez, de amely egyszerűen egy adott mappához van kötve, például a vele való gyors interakció érdekében.

    Tegyük fel, hogy hosszú út áll előtted:

    A

    Tegyük fel, hogy a legutolsó mappában van valami problémás fájl, amivel nem tudunk dolgozni, mivel az elérési út, mint látjuk, elég hosszú :)

    Az elérési út közepén lévő, hosszú nevű mappák egyikét virtuális lemezként vehetjük és csatlakoztathatjuk. Legyen ez a „Programok filmnézéshez” mappa.

    Virtuális lemez csatlakoztatásához szükségünk van az úgynevezett Windows parancssorra, azaz. konzol.

    keresztül tudod megnyitni Windows keresés. A keresésbe írja be a „Command Line” kifejezést:

    Az ablakban parancs sor be kell írnunk a parancsot:

    subst virtual_disk_letter "mappa_útvonala"

    Bármilyen meghajtóbetűjelet beállíthat, ha azt még nem foglalta el valamelyik helyi meghajtó. Például van C és D helyi meghajtója, ami azt jelenti virtuális lemez többé nem fogja tudni felhívni ugyanazzal a betűvel. Nevezheti például „X” betűnek, mert ritkán használják a Windowsban.

    A mappa elérési útjaként virtuálisként kell beillesztenie annak a mappának az elérési útját, amelyet virtuálisan szeretne csatlakoztatni. Ahogy már mondtam, a példámban a „Programok filmnézéshez”-t virtuális mappaként tesszük, ami azt jelenti, hogy az elérési utat a következőképpen kell megadni:

    D:\Video\Saját filmek\Minden, ami a filmnézéshez kell\Programok filmnézéshez\

    Tehát az én esetemben a végső parancs így fog kinézni:

    subst X: „D:\Videó\Saját filmek\Minden, ami a filmek megtekintéséhez szükséges\Programok filmnézéshez\”

    A beírt parancs végrehajtásához nyomja meg az „Enter” billentyűt a billentyűzeten. A virtuális lemez létrejön.

    Most menjünk a Windows Intézőbe, menjünk az „Ez a számítógép” (vagy „Számítógép”) szakaszba, és nézzük meg a létrehozott virtuális lemezt:

    A betűje alapján lehet megkülönböztetni. A virtuális lemezhez az "X" betűt rendeltem. Ha most megnyitjuk ezt a virtuális lemezt, azonnal a „Programok filmnézéshez” mappában találjuk magunkat. Azok. vettük és levágtuk az utolsó mappához vezető út felét.

    Összehasonlításképp...

    Korábban a végső mappa elérési útja így nézett ki:

    A

    Miután csatlakoztatta a virtuális lemezt a „Programok filmnézéshez” mappához, a végső mappa elérési útja így néz ki:

    X:\MP4-filmek megnyitása\MP4-példafilmek listája\MP4 megnyitásához szükséges programok listája\Mit ne tegyen MP4-fájlok megnyitásakor

    Érzi a különbséget? Az elérési út felére rövidül, mivel a meghajtóbetűjel azonnal az útvonal közepén lévő mappába irányít minket :) És mivel az elérési út jelentősen lerövidült, valószínűleg most eltávolítottad a karakterkorlátot a fájlok és mappák nevéből, és tudjon hosszú nevű fájlt vagy mappát törölni!

    Miután megoldotta a fájllal kapcsolatos problémát, a virtuális lemezt újra törölheti, hogy ne legyen bántó az Explorerben.

    Ehhez nyissa meg újra a parancssort Windows karakterláncés írja be a parancsot:

    Subst virtual_disk_letter /d

    Az én esetemben a meghajtó betűjele „X”, így a parancs így néz ki:

Amikor a probléma megoldásának lehetőségeiről gondolkodtam, hogyan lehet törölni egy hosszú nevű mappát vagy fájlt, találtam egy másik lehetőséget az interneten: törölje a problémás fájlt a programon keresztül. Total Commander" Kipróbáltam, nem jött be, ezért nem ajánlottam ezt a módszert :)) És a módszer, még ha valakinek bevált is, őszintén szólva nem szórakoztató, mert telepíteni kell kiegészítő program számítógépére, hogy csak egy hosszú nevű fájlt vagy mappát törölhessen...

Úgy gondolom, hogy ha hasonló probléma merül fel, amivel már nem egyszer előfordult, akkor a fent leírt módszerek egyike biztosan segít.

Ez minden! Hamarosan találkozunk a következő cikkekben ;)

Nem titok, hogy a Windows Intéző, mint a legtöbb Windows-alkalmazás, beleértve a PowerShellt is, nem képes objektumokkal dolgozni fájlrendszer mappák mély egymásba ágyazásával, amelynek elérési útja meghaladja a 260 karaktert. Ráadásul ez a korlátozás csak az alkalmazás szintjén és magán a fájlon áll fenn NTFS rendszer ig támogatja a fájl elérési utat 32767 karakterek.

Ezt a korlátozást a könyvtár szabja meg Win32 API, és amelynek maximális elérési útja 260 karakter ( MAX_PATH=260). Általában az útvonalat a következő elemek alkotják: +[256_karakter_útvonala]+[ ] , és egy könyvtár/fájl maximális hossza NTFS-ben 255 karakter Unicode-ban. Unicode API-függvények használatakor lehetséges a cím elérési útja 32767 karakterek. Ennek köszönhetően sokan harmadik féltől származó programok(Ugyanazok a népszerű fájlkezelők, például MESSZEÉs Total Commander) minden nehézség nélkül feldolgozza azokat a fájlokat/mappákat, amelyek elérési útja meghaladja a 260 karaktert.

Tanács. Megkerülheti a Win32 API ezen korlátozását, és hosszú fájlnevekkel dolgozhat az UNC elérési út formátum használatával, megadva a fájl abszolút elérési útját a kiterjesztett útvonal előtaggal. \\?\ . Például így: \\?\C:\SomeLongPath\LongNameFile.txt

Ez a korlátozás akkor sem vonatkozik, amikor hálózati hozzáférés a felhasználók az SMB protokollon keresztül a fájlokhoz (ennek köszönhetően gyakran előfordulnak hosszú elérési utakkal rendelkező könyvtárstruktúrák fájlszerverek felhasználói adatokkal). Adminisztrátor kiszolgálása ezt a szervert nem szabványos interfészen keresztül Windows Intéző Az Explorer hosszú elérési utakkal kezelheti (törölheti/áthelyezheti) a fájlokat. Amikor megpróbál létrehozni/másolni egy fájlt egy ilyen könyvtárba, hibaüzenet jelenik meg:

A cél elérési útja túl hosszú. A fájlnév(ek) túl hosszúak lennének a célmappához. Lerövidítheti a fájl nevét, és megpróbálhatja újra, vagy megpróbálhat egy olyan helyet, amelynek lerövidített elérési útja van

Más programok/párbeszédpanelek a maguk módján jelezhetik a korlátozás jelenlétét.

Egyetértek, vicces, hogy 2014 van, és még mindig az oldalankénti 260 karakteres korlátozásról beszélünk. maximális hossza elérési utak a Windowsban... De úgy tűnik, hogy a közeljövőben nem várható alapvető változás, és ez a korlátozás még a legfrissebb Windows 10 Technical Preview-ban is fennáll.

Ebben a cikkben bemutatjuk, hogyan dolgozhat a Windows rendszerben olyan fájlokkal, amelyek elérési útja meghaladja a 260 karaktert. Ebben az esetben az a feladatunk, hogy töröljünk egy olyan könyvtárat, amely hosszú elérési útvonalú fájlokat tartalmaz.

Amikor megpróbál törölni egy ilyen könyvtárat az Explorerből, hibaüzenet jelenik meg:

A fájlnév(ek) túl hosszúak lennének a célmappához. Lerövidítheti a fájl nevét, és megpróbálhatja újra, vagy megpróbálhat egy olyan helyet, amelynek lerövidített elérési útja van.

A Powershell nem tudja megfelelően kezelni a 260 karaktert meghaladó, nagy elérési utat tartalmazó könyvtárakat és fájlokat. Amikor megpróbál törölni egy ilyen fájlokat tartalmazó könyvtárat (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath), hibaüzenet jelenik meg:

Elem eltávolítása .\verylongpath -Recurse

Elem eltávolítása: A megadott elérési út, fájlnév vagy mindkettő túl hosszú. A teljes képzésű fájlnévnek 260-nál kisebbnek kell lennie
karaktert, és a könyvtárnévnek 248 karakternél rövidebbnek kell lennie.
Soron:1 karakter:1
+ Elem eltávolítása .\verylongpath -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: WriteError: (C:\Install\MS S...it\verylongpath:String) , PathTooLongExcepti
tovább
+ FullyQualifiedErrorId: RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

A legegyszerűbb lehetőség (valójában a hibaablakban javasolt) a szülőmappák nevének lerövidítése, csökkentve az elérési út teljes hosszát (de ez nem mindig érvényes).

Mklink /d c:\install\link „C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath”

Egy másik lehetőség, amely a szimbolikus hivatkozással való munkavégzésre emlékeztet, az, hogy a problémás mappát egy virtuális lemezre képezzük le (a példánkban X:), ezzel is csökkentve az elérési út hosszát:

Subst X: "C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath"

Most már dolgozhat az X: meghajtón lévő adatokkal, amelyekben a fájlok elérési útja nem haladja meg a korlátot. A munka befejezése után törölheti a virtuális lemezt:

X. rész: /d

De én személy szerint az ilyen helyzetekben való adattörlési feladatot a legjobban szeretem robocopy.exe, amely támogatja a hosszú utakkal való munkát.

Az opció használatával /MIR, a robocopy segédprogram létrehozhatja a forráskönyvtár teljes másolatát (tükrözését) a célkönyvtárban. És ha a forrásmappa üres, a célmappában lévő összes adat is törlődik. Hozzunk létre egy üres mappát C:\Telepítés\tesztés a /MIR argumentum segítségével másolja a tesztmappa tartalmát a célmappába (ha a mappanév szóközt vagy cirill karaktereket tartalmaz, akkor az elérési utat idézőjelbe kell tenni).

Robocopy /MIR C:\Install\test "C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath"

A parancs végrehajtása után a C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath könyvtár tartalma törlődik (az üres könyvtár tartalmával helyettesítve).

Tehát ma bemutattunk néhány egyszerű trükköt, amelyek segítségével olyan fájlkiszolgálókon lévő mappákkal dolgozik, amelyek olyan mappákat tartalmaznak, amelyek elérési útja meghaladja a 260 karakteres korlátot.

Káros műtő Windows rendszer Nem engedi törölni a fájlt, és azt kiáltja, hogy „A forrás elérési útja túl hosszú”? Ebben a cikkben elmondom, hogyan lehet egyszerűen és egyszerűen, programok nélkül legyőzni ezt a csapást a fájlnév lerövidítésével.

A forráshoz vezető út túl hosszú – miért?

Azonnal szeretném elmagyarázni, hogy miért jelenik meg egy ilyen rendszerfigyelmeztetés, és miért nem lehet alapvető másolási vagy törlési műveleteket végrehajtani egy fájlon (mappán)…

Maga az értesítés tartalmazza a választ erre a kérdésre - a Windows fájlrendszer nem támogatja (nem érti) a neveket forrás fájlok 255 karakternél hosszabb.

De a fájl vagy mappa neve rövid, például „Vacation Photos”? A helyzet az, hogy a „hülye” rendszer a fájl teljes elérési útját a nevének tekinti. Ha a fájl vagy mappa valahol túl mélyen található fájl kezelő, akkor a neve neki valahogy így fog kinézni...

A névszimbólumokat tehát egy több mint 255 darabból álló bandába gyűjtik össze.

Ebben az esetben hogyan lehet törölni egy nem törölhető fájlt vagy mappát? Nagyon egyszerű – le kell rövidítenie a fájlnevet (elérési utat) a beágyazott mappák átnevezésével.

Hogyan lehet törölni egy hosszú nevű fájlt

Példámmal megmutatom, hogyan lehet törölni egy hosszú nevű fájlt, amelynek – ahogy a rendszer írja – túl hosszú a forrás elérési útja.

Tegnap úgy döntöttem tisztítsa meg a számítógépet a régiektől biztonsági másolatok oldalon, de nem akarták törölni őket. Ahogy sejtette, egy figyelmeztetés jelent meg, hogy túl hosszú a forráshoz vezető út...

Ezen a hosszú úton a legelső mappától kezdve több dolgot átneveztem...

...és újra megpróbálta megszabadulni a most rövidebb nevű fájltól – biztonságosan a törölt fájlok földjére került.

Természetesen az új fájl (mappa) névnek egy karakterből vagy számból kell állnia, mint a példámban.

Így könnyen megoldható a hosszú névvel rendelkező fájlok vagy mappák törlésének problémája. Természetesen nem ez az egyetlen módszer. Tud speciális programok töröl vagy a registry-n keresztül - csak a manuális módszert mutattam meg. Egyesek számára ez csak egy percet, másoknak fél órát vesz igénybe - Ön dönti el, hogyan rövidítse le a fájl nevét és a forráshoz vezető túl hosszú utat.

Egészen új hasznos tippeketés érdekes számítógépes programok.

A cím hosszúra sikeredett, de jelzi az itt ismertetendő probléma lényegét. Nemrég egy nem túl jó helyzetbe kerültem. A merevlemez rendezése és a felesleges dolgoktól való megtisztítása közben azt tapasztaltam, hogy az egyik fájl nem lett törölve, de a következő hibaüzenet jelent meg: „A fájlrendszer nem támogatja az ilyen hosszú forrásfájlneveket. Próbálja meg áthelyezni a fájlt egy rövidebb útvonalú mappába, vagy adjon meg egy rövidebb fájlnevet, és próbálkozzon újra."

Nemhogy nem tudtam törölni a fájlt, de a nevet sem tudtam rövidebb névre változtatni. Sokak számára ez zsákutcának tűnik, mert kiderül, hogy a fájl nem törlődik.

Valójában a probléma nagyon egyszerűen és gyorsan megoldható, és most két megoldási módot írok le, és Ön dönti el, melyiket használja.

Mi a teendő, ha a forrás elérési útja túl hosszú, hogyan lehet törölni egy ilyen fájlt?

Ha olyan fájlja van, amely a hosszú név miatt nem törlődik, több lehetőség is van a probléma megoldására. Például, ha egy fájl több könyvtárba van beágyazva, mondjuk öt vagy akár tíz mappába, amelyek neve 10-20 karakter hosszú, akkor ez lehet az oka annak, hogy nem töröljük a fájlt. A tény az, hogy a Windows nem támogat olyan fájlokat, amelyek neve több mint 260 karakterből áll. Ha ezt a határt túllépi, a fent bemutatott hiba jelenik meg. A saját névvel rendelkező mappák száma és maga a fájlnév összesen 260 karakternél kevesebb lehet. A rendszernek van egy funkciója is – ha ezt a határt túllépjük, továbbra is átnevezhetjük a mappákat. Ez azt jelenti, hogy minden mappát át kell neveznie egy rövid névre, például betűre vagy számra.


Ez a probléma nem csak azért merülhet fel, mert ilyen hosszú nevet adott. Ez történt velem, amikor úgy döntöttem, hogy letöltöm a webhely fájljait a szerverről, és csinálok valamit. Mivel a fájlokra már nem volt szükség, töröltem a teljes könyvtárat az oldal fájljaival, de mint kiderült, benne volt egy nagyon hosszú nevű fájl, plusz mappanevek, és ez nem tette lehetővé, hogy az egészet töröljem.

Második módszer segít, ha az első nem sikerült. Az a tény, hogy nem minden olyan mappát lehet átnevezni, amely egy hosszú névvel rendelkező fájlhoz vezet, és ugyanaz a fájlrendszer hiba lép fel. Ezután létrehozhat egy virtuális lemezt a nem törölhető fájlhoz vezető almappák bármelyikével. Most megmutatom, hogyan kell ezt csinálni.

Nyissa meg a parancssort. Ehhez nyomja meg a Win+R kombinációt, és írja be a parancsot cmd. Kattintson a jobb gombbal a Start menüre (vagy a Win+X billentyűkombinációra), és ott válassza a Parancssort.

Most írjon egy parancsot, amely létrehoz egy virtuális lemezt számunkra:

Olyan meghajtóbetűjelet kell választania, amelyet mások nem foglalnak el. RendszerpartícióÁltalában a C betűket jelöljük, a második szakaszt pedig D vagy E, majd válasszon másikat.

A mappa elérési útját meg kell adni a lemezről. Ha ez nehézségekbe ütközik, nyissa meg a virtuális lemezként működő mappát, és másolja át az elérési utat az Intézőben a tetején.

A parancsom így néz ki:

Amikor a Sajátgép oldalra lépünk, ott egy meghajtót kell látnia azzal a betűvel, amelyet a parancssorból hozzárendeltünk. Így a fájl elérési útja majdnem felére csökken, ami azt jelenti, hogy a karakterek teljes hossza 260 karakternél is kevesebb lehet. Most megpróbálhatod megszabadulni a törölhetetlentől.


A virtuális lemez törléséhez be kell írnia a következő parancsot:

substDiskLetter/d

Total Commander használata

Az interneten felfedeztem egy módszert, amely lehetővé teszi a nem törölhető fájlok törlését a segítségével. Természetesen itt az a hátránya, hogy további szoftvereket kell telepítenie a számítógépére, és nem mindenki fogja ezt megtenni. Ezt a módszert mindenesetre itt hagyom, hátha valaki használni akarja.

Töltse le és telepítse a programot. Menjünk a lapra "Fájl" kattintson a szakaszra "Attribútumok módosítása". Megjelenik egy ablak, ahol eltávolítjuk a pipát az összes attribútumból. Ha nincs pipa az elem mellett felül "A könyvtár tartalmának feldolgozása"- választ. Most ugyanabból a programból megpróbálunk törölni egy hosszú nevű fájlt.


A 7-zip archiválót használjuk

Ehhez a feladathoz egy 7-zip archiválóra lesz szükségünk. Kattintson a jobb gombbal a kezdőkönyvtárra, és mutasson az egérrel a partícióra "7-zip"és válassza ki az elemet "Hozzáadás az archívumhoz".

Megjelenik egy ablak, amelyben csak egy négyzetet kell bejelölnie. "Fájlok törlése tömörítés után". Ezután kattintson az OK gombra.

Mindezen dolgok archívuma jön létre az asztalon, és a hosszú fájlokat tartalmazó mappák egyszerűen törlődnek. Magát az archívumot gond nélkül törölheti.

Ezeket a módszereket vizsgáltuk a nem törölt fájl hiba kijavítására. Esetleg van más lehetősége ennek a megoldására?