Fájl törlése egy útvonal hossza 260 karakter, ablakok rendszergazdák számára

Nem titok, hogy a Windows Explorer, mint a legtöbb más Windows-alapú alkalmazások, beleértve PowerShell, nem tudom, hogyan kell dolgozni a fájlrendszer-objektumok mély alkönyvtárak, az út hossza nagyobb, mint 260 karakter. Sőt, ez a korlátozás csak akkor áll fenn az alkalmazási szinten, és ő NTFS fájlrendszer támogatja fájlútvonalakat maximum 32767 karakter.


Ez megkötés könyvtár Win32 API. és ahol a maximális útvonal hossza 260 karakter (MAX_PATH = 260). Általában, az utat képződött a következő elemek: [C: \] + [put_iz_256_simvolov] + []. és a maximális hossza egy könyvtárat / fájlt NTFS - 255 karakter Unicode-ban. Ha Unicode API funkciókat használhatják az utat 32767 karakter. Emiatt számos harmadik féltől származó programok (ugyanaz népszerű fájlkezelõk, mint amennyire és Total Commander) minden nehézség nélkül feldolgozása fájlokat / mappákat, a hossza az utat, amely meghaladja a 260 karaktert.

Tanács. Ezen korlátozás Win32 API és a munka hosszú fájlnevek miatt lehet a használata UNC-utas formátumú, az abszolút a fájl elérési útját a prefix kiterjesztett hosszúságú útvonal \\? \. Például, mivel a \\ \ C :? \ SomeLongPath \ LongNameFile.txt

Ez a korlátozás nem alkalmazható, ha a felhasználó hálózati hozzáférés a fájlokat SMB protokoll (rovására a katalógus szerkezete hosszú utak gyakran nevezik fájlkiszolgálókhoz a felhasználói adatok). A rendszergazdák ezen a szerveren nem lehet egy szabványos interfészen Explorer a Windows Explorer kezelni (törlés / áthelyezés) fájlokat hosszú utak. Ha szeretnél létrehozni / másolni egy fájlt egy könyvtárba, hiba történik:

Célútvonal túl hosszú. A fájl neve (i) túl hosszú lenne a célmappát. Akkor lerövidítheti a fájl nevét, és próbálja újra, vagy próbálja meg a helyét, hogy van egy rövidített útvonal

Egyéb programok / dialógusok jelentheti jelenlétében azok korlátait.

Ebben a cikkben megmutatjuk, hogyan a Windows, akkor lehet dolgozni fájlokat, az utat, amely több mint 260 karakter. Ebben az esetben, a mi feladatunk - törli a könyvtárat tartalmazó fájlokat egy nagy út hossza.

hiba történik, amikor megpróbál törölni egy könyvtárat a Windows Explorer:

A fájl neve (i) túl hosszú lenne a célmappát. Akkor lerövidítheti a fájl nevét, és próbálja újra, vagy próbálja meg a helyét, hogy van egy rövidített útvonal.

Távolítsuk-tétel. A megadott útvonal, fájlnév, vagy mindkettő túl hosszú. A teljesen meghatározott fájlnevet kisebbnek kell lennie, mint 260
karakterek, és a könyvtár neve kisebbnek kell lennie 248 karaktert.
Sor: 1 char: 1
+ Távolítsuk-tétel. \ Verylongpath -Recurse
+


+ CategoryInfo. WriteError: (C: \ Install \ MS S. ez \ verylongpath: karakterlánc) [Eltávolítás-Elem], PathTooLongExcepti
tovább
+ FullyQualifiedErrorId. RemoveItemIOError, Microsoft.PowerShell.Commands.RemoveItemCommand

A legegyszerűbb lehetőség (ez valójában azt a hiba ablak) - lerövidíti a nevét, a szülő mappát, csökkentve a teljes útvonal hossza (de nem mindig lehetséges).

Egy másik lehetőség -, hogy hozzon létre egy szimbolikus linket a részben az út, ezáltal lerövidítve a teljes hossza az út:

Egy másik megvalósítási mód hasonlít a munkát szimbolikus link - hasonlítsa össze a problémás mappát virtuális lemezt (ebben a példában az X :), ezzel is csökkentve a hossza az út:

Most akkor dolgozni az adatokat a lemezre X. fájlútvonalakat amely nem haladja meg a határértéket. Munka után, törölheti a virtuális meghajtót:

Szóval, ma megmutattuk néhány egyszerű trükk segítségével, ha dolgozik, mappák fájlkiszolgálónkon tartalmazó mappát úthossz, hogy túllépi a 260 karaktert.