Sve o prevenciji i suzbijanju štetnika i nametnika

Kako izbrisati mapu s predugim nazivom. Kako izbrisati datoteku ili mapu s dugim nazivom ako Windows to ne dopušta! Predug put do izvora – zašto

Evo primjera strukture mape koju sam nazvao "velika lutka":

Kao što vidite, na disku “D” (Podaci) nalazi se originalna video mapa, u njoj mapa “Filmovi”, u njoj “Sve što vam je potrebno za gledanje filmova” i onda na isti način mapa u mapi . U isto vrijeme, mnoge mape imaju duga imena - više od 10-15 znakova, što će ukupno dati volumen znakova u svim imenima više od 260. A ako na kraju takve "matrjoške" postoji datoteka , može se ispostaviti da nećete moći raditi s njim možete ... Ponekad vam sam sustav ne dopušta da na kraju napravite mapu ili datoteku koja premašuje dopušteni broj znakova, ali ponekad iz nekog razloga ovo se dogodi.

Na početku, za početnike, objasnit ću koji je put do datoteke i mape. Put je takozvana adresa na računalu na kojoj se nalazi datoteka ili mapa. Na primjer, datoteka pod nazivom "My file.txt" nalazi se na lokalnom disku D: u mapi "Documents". Tada će put do ove datoteke izgledati ovako:

D:\Dokumenti\Moja datoteka.txt

Ili, na primjer, ovako će izgledati put iz gornjeg primjera, gdje sam pokazao složenu strukturu mape.

Kao što vidite, broj znakova u gornjoj stazi je velik i moguće je da će na kraju biti datoteka ili mapa s dugim nazivom koju ne možete izbrisati.

Kada pokušate izbrisati datoteku s dugim nazivom staze, dobit ćete prozor pogreške poput ovog:

Pokušao sam umjetno stvoriti problem i evo što sam dobio.

Na disku "D" napravio sam mapu s kratkim nazivom "1" i smjestio datoteku s vrlo dugim nazivom u nju. Evo primjera:

Sada također preimenujem tu mapu "1" u neko vrlo dugo ime, na primjer:

Zanimljivo, Windows vam slobodno dopušta preimenovanje mape u tako dugo ime, unatoč činjenici da broj znakova u nazivu ove mape + naziv datoteke već prelazi 260! Pa, nakon takvog preimenovanja mape u dugo ime, ne mogu više izbrisati datoteku koja se nalazi u njoj i prikazuje mi se pogreška.

Ili evo još jednog primjera ... Održavam web stranicu Moskovskog koledža za izradu instrumenata, gdje sam prethodno radio puno radno vrijeme, a ponekad koristim kopiju stranice na svom računalu da testiram neke nove "dobrote" za stranicu. I onda odjednom instaliram nešto loše i stranica na hostingu crkne? :) I tako provjerim na računalu i je li sve u redu, onda sam to već postavio na pravoj stranici koja se nalazi na hostingu. Dakle, jednom sam cijelu stranicu prebacio s hostinga na sebe kako bih testirao jednu stvar, a nakon završetka rada odlučio sam obrisati mapu sa stranicom s računala. Uostalom, teži oko 6 GB. Izbrisana je cijela stranica, osim određenog broja mapa. Počeo sam tražiti i vidio da one mape koje su sadržavale datoteku s dugim nazivom u obliku hijeroglifa nisu izbrisane:

Ponovno sam pokušao izbrisati ovu datoteku s dugim nazivom i vidio sam istu pogrešku koju sam spomenuo gore. Pokušao sam ga preimenovati, ni to ne ide. Pa, morao sam razmisliti kako riješiti problem.

Kako riješiti problem brisanja mape / datoteke s dugim nazivom puta!

Isprobao sam 2 načina kako izbrisati mapu/datoteku s dugim nazivom na putu do njih. Oba nisu tehnički teška (pogotovo 1.), tako da mislim da će se i početnik moći nositi s tim ako sve radi točno onako kako ja pokazujem:

    Preimenujte nekoliko mapa u putu datoteke u kraći naziv. Ovo je najjednostavnije rješenje koje bi već trebalo puno pomoći! Pretpostavimo da imate mapu s vrlo dugim nazivom koja sadrži datoteku koju ne možete izbrisati, otvoriti, kopirati i općenito s njom ne možete raditi.

    Zatim jednostavno pokušajte preimenovati mapu koja sadrži datoteku s dugim nazivom, na primjer, u "1". Vratimo se jednom od gornjih primjera. Ovdje je mapa s dugim nazivom:

    Preimenujem ime te mape u “1” kroz standardni Windows Explorer i ovako sada izgleda put do datoteke:

    Sada možete sigurno raditi s datotekom, sustav će vam omogućiti da je otvorite, preimenujete i izbrišete.

    Ako imate dugačko stablo mapa, tj. poput ugniježđene lutke, u jednoj mapi nalazi se druga, u njoj još, pa još, zatim počnite preimenovati od prve mape iz ove lutke. Ne zadnji na listi, nego prvi!

    Može se dogoditi da postoji ogroman broj mapa i preimenovanje nekih od njih neće uspjeti zbog iste pogreške ili će vam oduzeti puno vremena. U ovom slučaju predlažem drugu metodu.

    Metoda je da možete uzeti neku mapu, na primjer, u sredini općeg stabla i povezati je kao virtualni disk. Virtualni disk je nešto što nas podsjeća na obični lokalni disk, ali koji je jednostavno vezan za određenu mapu, na primjer, za brzu interakciju s njim.

    Recimo da imate nešto poput ove duge staze:

    D:\Video\Moji filmovi\Sve što vam je potrebno za gledanje filmova\Softver za filmove\Kako otvoriti MP4 filmove\Popis MP4 oglednih filmova\Popis programa za otvaranje MP4\Što ne raditi prilikom otvaranja MP4 datoteka

    Pretpostavimo da u posljednjoj mapi imamo neku problematičnu datoteku s kojom ne možemo raditi, budući da je put do nje, kao što vidimo, vrlo pristojno dugačak :)

    Možemo uzeti i povezati jednu od mapa s dugim nazivom u sredini staze kao virtualni pogon. Neka to bude mapa "Programi za gledanje filmova".

    Za povezivanje virtualnog diska potrebna nam je takozvana Windows naredbena linija, tj. konzola.

    Možete ga otvoriti putem Windows pretraživanja. U tražilicu upišite "Command line":

    U prozoru naredbenog retka trebamo upisati naredbu:

    subst virtual_disk_letter "put_do_mape"

    Možete staviti bilo koje slovo pogona, sve dok nije već zauzeto jednim od lokalnih pogona. Na primjer, imate lokalni pogon C i D, što znači da virtualni pogon više ne možete nazivati ​​istim slovom. Može se nazvati, na primjer, slovom "X", jer ga rijetko tko koristi u Windowsima.

    Kao put do mape umetnete put do mape koju želite povezati kao virtualnu. Kao što sam rekao, u mom primjeru, napravit ćemo "Programi za gledanje filmova" virtualnu mapu, što znači da put mora biti specificiran ovako:

    D:\Video\Moji filmovi\Sve što vam je potrebno za gledanje filmova\Softver za filmove\

    Dakle, konačna naredba u mom slučaju izgledat će ovako:

    subst X: "D:\Video\Moji filmovi\Sve što trebate za gledanje filmova\Gledatelji filmova\"

    Da biste izvršili unesenu naredbu, pritisnite tipku "Enter" na tipkovnici. Virtualni disk će biti kreiran.

    Idemo sada u Windows Explorer, idite na odjeljak "Ovo računalo" (ili "Računalo") i tamo pogledajte stvoreni virtualni disk:

    Možete ga razlikovati po slovu. Dodijelio sam slovo "X" virtualnom pogonu. Sada ako otvorite ovaj virtualni disk, odmah ćemo se naći u mapi "Programi za gledanje filmova". Oni. uzeli smo i presjekli pola puta do posljednje mape.

    Za usporedbu…

    Prethodno je put do odredišne ​​mape izgledao ovako:

    D:\Video\Moji filmovi\Sve što vam je potrebno za gledanje filmova\Softver za filmove\Kako otvoriti MP4 filmove\Popis MP4 oglednih filmova\Popis programa za otvaranje MP4\Što ne raditi prilikom otvaranja MP4 datoteka

    Nakon povezivanja virtualnog diska s mapom "Programi za gledanje filmova", put do konačne mape izgleda ovako:

    X:\Kako otvoriti MP4 filmove\Popis oglednih MP4 filmova\Popis programa za otvaranje MP4\Što ne raditi prilikom otvaranja MP4 datoteka

    Osjeti razliku? Putanja je skraćena za pola, jer nas slovo pogona odmah usmjerava na mapu u sredini staze :) A kako je putanja jako skraćena, sad ste vjerojatno uklonili ograničenje znakova u imenima datoteka i mapa i može izbrisati datoteku ili mapu s dugim nazivom!

    Nakon što riješite problem s datotekom, virtualni disk možete ponovno obrisati kako ne bi bio trn u oku Exploreru.

    Da biste to učinili, ponovno otvorite Windows naredbeni redak i unesite naredbu:

    Subst virtual_disk_letter /d

    U mom slučaju, slovo pogona je "X", pa će naredba izgledati ovako:

Kad sam razmišljao o mogućnostima rješavanja problema, kako izbrisati mapu ili datoteku s dugim nazivom, pronašao sam drugu opciju na internetu: obrišite problematičnu datoteku kroz program Total Commander. Probao sam, nije išlo, pa nisam savjetovao ovu metodu :)) A metoda, čak i ako bi nekome uspjela, iskreno nije cool, jer morate instalirati dodatni program na svoje računalo kako biste izbrisali samo jednu datoteku ili mapu s dugim nazivom...

Mislim da će vam, ako naiđete na sličan problem s kojim sam se ja susreo više puta, jedna od gore navedenih metoda sigurno pomoći.

To je sve! Vidimo se uskoro u sljedećim člancima ;)

Nije tajna da Windows Explorer, kao i većina drugih Windows aplikacija, uključujući PowerShell, ne može raditi s duboko ugniježđenim objektima datotečnog sustava, duljina staze do koje prelazi 260 znakova. Štoviše, ovo ograničenje postoji samo na razini aplikacije, a sam datotečni sustav NTFS podržava putanje datoteka do 32767 likovi.

Ovo ograničenje nameće knjižnica Win32 API, gdje je maksimalna duljina staze 260 znakova ( MAX_PATH=260). Općenito, put se sastoji od sljedećih elemenata: +[put_od_256_znakova]+[ ] , a najveća duljina jednog direktorija/datoteke u NTFS-u je 255 znakova u Unicodeu. Kada koristite unicode API funkcije, moguće je koristiti stazu prije 32767 likovi. Zahvaljujući tome, mnogi programi trećih strana (isti popularni upravitelji datoteka, na primjer DALEKO I Total Commander) rukuje datotekama/mapama sa stazama dužim od 260 znakova bez ikakvih poteškoća.

Savjet. Možete zaobići ovo ograničenje Win32 API-ja i raditi s dugim nazivima datoteka korištenjem UNC formata staze, određivanjem apsolutne staze do datoteke pomoću prefiksa staze proširene duljine \\?\ . Na primjer, tako \\?\C:\SomeLongPath\LongNameFile.txt

Ovo se ograničenje također ne odnosi na mrežni pristup korisnika datotekama preko SMB protokola (zbog toga se na poslužiteljima datoteka s korisničkim podacima često nalaze strukture direktorija s dugim stazama). Administrator koji održava ovaj poslužitelj ne može upravljati (brisati/premještati) datotekama s dugim stazama kroz standardno sučelje Windows Explorera. Prilikom pokušaja kreiranja/kopiranja datoteke u takav direktorij pojavljuje se pogreška:

Odredišni put je predug. Nazivi datoteka bili bi predugi za odredišnu mapu. Možete skratiti naziv datoteke i pokušati ponovno ili pokušati s lokacijom koja ima skraćeni put

Drugi programi/dijaloški okviri mogu prijaviti prisutnost ograničenja na svoj način.

Slažete se, smiješno je da je 2014. izvan prozora, a još uvijek govorimo o ograničenju od 260 znakova na maksimalnoj duljini staze u sustavu Windows ... Ali čini se da se u bliskoj budućnosti ne očekuju veće promjene, pa čak ni u vrlo svjež Windows 10 Technical Preview, ovo ograničenje još uvijek postoji.

U ovom članku pokazat ćemo vam kako možete raditi s datotekama u sustavu Windows koje imaju putanje dulje od 260 znakova. U ovom slučaju, naš zadatak je izbrisati direktorij koji sadrži datoteke s velika duljina put.

Prilikom pokušaja uklanjanja takvog direktorija iz pretraživača pojavljuje se pogreška:

Nazivi datoteka bili bi predugi za odredišnu mapu. Možete skratiti naziv datoteke i pokušati ponovno ili pokušati s lokacijom koja ima skraćeni put.

Powershell također ne obrađuje ispravno direktorije i datoteke s velikim stazama koje prelaze 260 znakova. Prilikom pokušaja brisanja direktorija s takvim datotekama (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath), pojavljuje se pogreška:

Remove-Item .\verylongpath -Recurse

Remove-Item: navedena staza, naziv datoteke ili oboje su predugi. Potpuno kvalificirani naziv datoteke mora biti manji od 260
znakova, a ime direktorija mora biti manje od 248 znakova.
U retku:1 znak:1
+ Remove-Item .\verylongpath -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: WriteError: (C:\Install\MS S...it\verylongpath:String) , PathTooLongExcepti
na
+ FullyQualifiedErrorId: RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

Najjednostavnija opcija (koja se, zapravo, nudi u prozoru s pogreškom) je skraćivanje naziva nadređenih mapa, smanjujući ukupnu duljinu staze (ali nije uvijek primjenjivo).

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

Druga opcija, koja podsjeća na rad sa simboličkom vezom, je mapiranje problematične mape na virtualni pogon (u našem primjeru, X :), čime se također smanjuje duljina puta:

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

Sada možete raditi s podacima na disku X:, čiji putovi do datoteka neće premašiti ograničenje. Nakon završetka rada, možete izbrisati virtualni disk:

Supst X: /d

Ali osobno, za zadatak brisanja podataka u takvim situacijama, sviđaju mi ​​se mogućnosti robocopy.exe, koji podržava duge staze.

S opcijom /MIR, uslužni program robocopy može stvoriti potpunu kopiju (zrcaljenje) izvornog direktorija u ciljnom direktoriju. A ako je izvorna mapa prazna, brišu se i svi podaci u ciljnoj mapi. Kreirajmo praznu mapu C:\Instaliraj\testiraj a pomoću argumenta /MIR kopirat ćemo sadržaj testne mape u ciljnu (ako naziv mape sadrži razmake ili ćirilične znakove, putanja mora biti pod navodnicima).

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

Nakon izvršenja naredbe, sadržaj direktorija C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath se briše (zamjenjuje ga sadržaj praznog direktorija).

Dakle, danas smo vam pokazali neke jednostavne trikove koje možete koristiti kada radite s mapama na poslužiteljima datoteka koji sadrže mape čija duljina putanje prelazi ograničenje od 260 znakova.

Naslov se pokazao dugim, ali ukazuje na suštinu problema koji će biti opisan ovdje. Nedavno sam se našao u ne tako dobroj situaciji. Dok sam sortirao po tvrdom disku i čistio ga od nepotrebnog, ustanovio sam da jedna od datoteka nije izbrisana, ali se pojavila sljedeća greška: “Datotečni sustav ne podržava tako dugačke izvorne nazive datoteka. Pokušajte premjestiti datoteku u mapu s kraćom duljinom putanje ili navedite kraći naziv datoteke i pokušajte ponovno."

Ne samo da nisam mogao izbrisati datoteku, nego nisam uspio ni promijeniti naziv u kraći naziv. Za mnoge bi to izgledalo kao slijepa ulica, jer ispada da se datoteka ne briše.

Zapravo, problem se rješava vrlo jednostavno i brzo, a sada ću vam opisati dvije metode rješavanja, a na vama je da odlučite koju ćete koristiti.

Što učiniti ako je put do izvora predug, kako izbrisati takvu datoteku?

Ako imate datoteku koja se ne briše zbog dugog naziva, postoji nekoliko opcija za rješavanje problema. Na primjer, datoteka je ugniježđena u nekoliko direktorija, recimo, pet ili čak deset mapa koje imaju nazive od 10-20 znakova svaka, to može biti razlog zašto se datoteka ne briše. Činjenica je da Windows ne podržava datoteke čiji nazivi imaju više od 260 znakova. Ako je ovo ograničenje premašeno, tada će se pojaviti pogreška koju sam pokazao gore. Broj mapa koje imaju svoje nazive i sam naziv datoteke moraju sadržavati manje od 260 znakova. Sustav također ima jednu značajku - ako je ovo ograničenje premašeno, još uvijek možemo preimenovati mape. A to znači da trebate preimenovati sve mape u kratko ime, na primjer, slovo ili broj.


Takav se problem može pojaviti ne samo zato što ste dali tako dugo ime. To mi se dogodilo kad sam odlučio preuzeti datoteke stranice sa servera i učiniti nešto. Budući da datoteke više nisu bile potrebne, izbrisao sam cijeli direktorij s datotekama web-mjesta, ali kako se pokazalo, sadržavao je datoteku s vrlo dugim nazivom, plus nazive mapa, i to mi nije dopuštalo da je sve izbrišem.

Druga metoda pomoći će ako prvi ne uspije. Činjenica je da se sve mape koje vode do datoteke s dugim nazivom ne mogu preimenovati i da će se pogreška datotečnog sustava i dalje srušiti. Tada možete stvoriti virtualni pogon pomoću bilo koje od podmapa koje vode do datoteke koja se ne može ukloniti. Sada ću vam pokazati kako to učiniti.

Otvorite naredbeni redak. Da biste to učinili, pritisnite kombinaciju Win + R i unesite naredbu cmd. Možete desnom tipkom miša kliknuti izbornik Start (ili tipkovnički prečac Win + X) i tamo odabrati naredbeni redak.

Sada napišite naredbu koja će nam napraviti virtualni disk:

Morate odabrati slovo pogona koje ne zauzimaju drugi. Particija sustava obično je označena slovima C, a druga particija, kao D ili E, zatim odaberite bilo koju drugu.

Put do mape mora biti naveden s diska. Ako vam to stvara poteškoće, otvorite mapu koja će djelovati kao virtualni disk i kopirajte put do nje u explorer na vrhu.

Moja naredba izgleda ovako:

Kada odemo na Moje računalo, onda bi tamo trebali vidjeti disk sa slovom koje smo mu dodijelili iz naredbenog retka. Time će se put do datoteke smanjiti gotovo za polovicu, što znači da ukupna duljina znakova može biti manja od 260 znakova. Sada se možete pokušati riješiti neizbrisiva.


Za brisanje virtualnog diska potrebno je unijeti naredbu:

substDriveLetter /d

Korištenje Total Commandera

Na internetu sam pronašao metodu koja vam omogućuje brisanje datoteka koje se ne mogu ukloniti pomoću . Naravno, loša strana je to što morate instalirati dodatni softver na svoje računalo, a ne žele svi to učiniti. U svakom slučaju, ostavit ću ovu metodu ovdje, u slučaju da je netko želi koristiti.

Preuzmite i instalirajte program. Idemo na karticu "Datoteka" kliknite na odjeljak "Promijeni atribute". Pojavljuje se prozor u kojemu uklanjamo potvrdne okvire sa svih atributa. Ako potvrdni okvir pored stavke nije na vrhu "Obradi sadržaj imenika"- izabrati. Sada iz istog programa pokušavamo izbrisati datoteku s dugim nazivom.


Koristimo 7-Zip arhiver

Za ovaj slučaj treba nam 7-Zip arhiver. Kliknite desnom tipkom miša na početni direktorij i prijeđite mišem preko particije "7-Zip" i odaberite stavku "Dodaj u arhivu".

Pojavljuje se prozor u kojem trebate označiti samo jedan potvrdni okvir "Izbriši datoteke nakon kompresije". Zatim kliknite OK.

Na radnoj površini stvara se arhiva svih tih dobrota, a mape s dugom datotekom jednostavno se brišu. Samu arhivu možete obrisati bez problema.

Evo načina za ispravljanje pogreške datoteke koja se ne može izbrisati, koje smo razmotrili. Imate li druge mogućnosti kako to učiniti?

Sprečava li vas štetni operativni sustav Windows da izbrišete datoteku i vrišti da ima "Izvorna staza preduga"? U ovom članku ću vam reći kako lako i jednostavno, bez ikakvih programa, pobijediti ovu nesreću skraćivanjem naziva datoteke.

Predugačak put do izvora – zašto?

Želim odmah objasniti zašto se pojavljuje takvo upozorenje sustava i nije moguće izvršiti elementarne radnje kopiranja ili brisanja s datotekom (mapom) ...

Sama obavijest sadrži odgovor na ovo pitanje - datotečni sustav Windows ne podržava (ne razumije) nazive izvornih datoteka dulje od 255 znakova.

Ali imate li kratak naziv datoteke ili mape, poput "Fotografija s odmora"? Činjenica je da "glupi" sustav percipira cijeli put do datoteke kao svoje ime. Ako je vaša datoteka ili mapa negdje preduboko u upravitelju datotekama, tada će njen naziv izgledati otprilike ovako ...

Dakle, simboli imena idu u skupinu od više od 255 komada.

Kako u ovom slučaju izbrisati datoteku ili mapu koja se ne može ukloniti? Vrlo jednostavno - potrebno je skratiti naziv datoteke (put) preimenovanjem ugniježđenih mapa.

Kako izbrisati datoteku s dugim nazivom

Pokazat ću na vlastitom primjeru kako izbrisati datoteku dugog naziva, koja, kako sustav piše, ima predug put do izvora.

Jučer sam odlučila očistite svoje računalo iz starih sigurnosnih kopija stranice, ali nisu htjeli biti izbrisani. Kao što pretpostavljate, bilo je upozorenje o predugom putu do izvora ...

Počevši od prve mape na ovom dugom putu - preimenovanih nekoliko komada ...

...i ponovno se pokušao riješiti datoteke sa sada kraćim nazivom — sigurno je otišao u zemlju obrisanih datoteka.

Naravno, novi naziv datoteke (mape) mora se sastojati od jednog znaka ili broja, kao u mom primjeru.

Ovako se jednostavno rješava problem brisanja datoteka ili mapa dugog naziva. Ovo naravno nije jedina metoda. Limenka izbrisati pomoću posebnog softvera ili kroz registar - upravo sam pokazao ručni način. Nekome će to trajati minutu, a nekome pola sata - na vama je kako ćete skratiti naziv datoteke, a put do izvora je predug.

Sve do novog korisni savjeti i zanimljivih računalnih programa.

Slični postovi