Filnavnet er for langt feil. Filnavnet eller kildebanen er for lang

Tittelen viste seg å være lang, men den indikerer essensen av problemet som vil bli beskrevet her. Nylig møtte jeg en ikke særlig god situasjon. Mens jeg sorterte harddisken og ryddet den for unødvendige ting, oppdaget jeg at en av filene ikke ble slettet, men følgende feil dukket opp: «Filsystemet støtter ikke så lange kildefilnavn. Prøv å flytte filen til en mappe med kortere banelengde eller angi et kortere filnavn og prøv igjen."

Ikke bare kunne jeg ikke slette filen, men jeg kunne heller ikke endre navnet til et kortere navn. For mange vil dette virke som en blindvei, fordi det viser seg at filen ikke er slettet.

Faktisk kan problemet løses veldig enkelt og raskt, og nå vil jeg beskrive to metoder for å løse det, og det er opp til deg å bestemme hvilken du skal bruke.

Hva gjør jeg hvis banen til kilden er for lang, hvordan sletter jeg en slik fil?

Hvis du har en fil som ikke blir slettet på grunn av et langt navn, er det flere alternativer for å løse problemet. For eksempel er en fil nestet i flere kataloger, si fem eller ti mapper som har navn på 10-20 tegn, så kan dette være årsaken til at filen ikke slettes. Faktum er at Windows ikke støtter noen filer hvis navn har mer enn 260 tegn. Hvis denne grensen overskrides, vil feilen som jeg viste ovenfor vises. Antallet mapper med sine egne navn og selve filnavnet skal være mindre enn 260 tegn. Systemet har også en funksjon - hvis denne grensen overskrides, kan vi fortsatt gi nytt navn til mapper. Dette betyr at du må endre navn på alle mapper til et kort navn, for eksempel en bokstav eller et tall.


Dette problemet kan oppstå ikke bare fordi du ga et så langt navn. Dette skjedde med meg da jeg bestemte meg for å laste ned nettstedsfiler fra serveren og gjøre noe. Siden filene ikke lenger var nødvendig, slettet jeg hele katalogen med nettstedfilene, men som det viste seg, inneholdt den en fil med et veldig langt navn, pluss mappenavn, og dette tillot meg ikke å slette alt.

Metode to vil hjelpe hvis den første mislyktes. Faktum er at ikke alle mapper som fører til en fil med et langt navn kan gis nytt navn, og den samme filsystemfeilen vil oppstå. Deretter kan du opprette en virtuell disk ved å bruke hvilken som helst av undermappene som fører til den ikke-slettbare filen. Nå skal jeg vise deg hvordan du gjør dette.

Åpne kommandolinjen. For å gjøre dette, trykk på Win+R-kombinasjonen og skriv inn kommandoen cmd. Du kan høyreklikke på Start-menyen (eller Win+X-tastekombinasjonen) og velge Ledetekst der.

Nå skriver du en kommando som vil lage en virtuell disk for oss:

Du må velge en stasjonsbokstav som ikke er okkupert av andre. Systempartisjonen er vanligvis indikert som C, og den andre partisjonen som D eller E, velg deretter en hvilken som helst annen.

Banen til mappen må spesifiseres fra disken. Hvis dette er vanskelig for deg, åpne mappen som vil fungere som en virtuell disk og kopier stien til den i Utforsker øverst.

Kommandoen min ser slik ut:

Når vi går til Min datamaskin, bør du se en stasjon der med bokstaven vi tilordnet den fra kommandolinjen. Dermed vil banen til filen reduseres med nesten det halve, noe som betyr at den totale lengden på tegn kan være mindre enn 260 tegn. Nå kan du prøve å bli kvitt den undeleteable.


For å slette en virtuell disk må du skrive inn kommandoen:

substDiskLetter/d

Bruker Total Commander

På Internett oppdaget jeg en metode som lar deg slette filer som ikke kan slettes ved hjelp av . Selvfølgelig er ulempen her at du må installere ekstra programvare på datamaskinen din, og ikke alle vil gjøre dette. I alle fall vil jeg la denne metoden være her i tilfelle noen vil bruke den.

Last ned og installer programmet. La oss gå til fanen "Fil" klikk på delen "Endre attributter". Et vindu vises der vi fjerner hakene fra alle attributter. Hvis det ikke er noen hake ved siden av elementet øverst "Behandle kataloginnhold"- velge. Nå fra det samme programmet prøver vi å slette en fil med et langt navn.


Vi bruker 7-Zip-arkiver

For denne oppgaven trenger vi en 7-Zip-arkiver. Høyreklikk på startkatalogen og pek med musen på partisjonen "7-Zip" og velg elementet "Legg til i arkiv".

Et vindu vises der du bare trenger å krysse av i én boks. "Slett filer etter komprimering". Klikk deretter OK.

Et arkiv med alt dette opprettes på skrivebordet, og mapper med lange filer slettes ganske enkelt. Du kan slette selve arkivet uten problemer.

Dette er måtene vi har sett på for å fikse filen som ikke blir slettet. Kanskje du har andre alternativer for hvordan du gjør dette?

Hindrer det skadelige Windows-operativsystemet deg fra å slette en fil og roper at "kildebanen er for lang"? I denne artikkelen vil jeg fortelle deg hvordan du enkelt og enkelt, uten noen programmer, kan beseire denne plagen ved å forkorte filnavnet.

Veien til kilden er for lang – hvorfor?

Jeg vil gjerne forklare med en gang hvorfor en slik systemadvarsel vises og det ikke er mulig å utføre grunnleggende kopierings- eller slettehandlinger på en fil (mappe) ...

Selve varselet inneholder svaret på dette spørsmålet - Windows-filsystemet støtter (forstår ikke) kildefilnavn som er lengre enn 255 tegn.

Men fil- eller mappenavnet ditt er kort, for eksempel "Feriebilder"? Faktum er at det "dumme" systemet oppfatter hele banen til filen som navnet. Hvis filen eller mappen din er plassert et sted for dypt i filbehandlingen, vil navnet se omtrent slik ut...

Så navnesymbolene er samlet i en gjeng på mer enn 255 stykker.

Hvordan sletter jeg en ikke-slettbar fil eller mappe i dette tilfellet? Det er veldig enkelt - du må forkorte filnavnet (banen) ved å gi nytt navn til nestede mapper.

Hvordan slette en fil med et langt navn

Jeg skal vise deg med mitt eksempel hvordan du sletter en fil med et langt navn som, som systemet skriver, har for lang vei til kilden.

I går bestemte jeg meg rengjør datamaskinen fra gamle sikkerhetskopier av nettstedet, men de ønsket ikke å bli slettet. Som du gjettet, dukket det opp en advarsel om at banen til kilden var for lang...

Fra den aller første mappen i denne lange banen ga jeg nytt navn til flere ting...

...og prøvde igjen å kvitte seg med filen med et nå kortere navn - den dro trygt til landet med slettede filer.

Naturligvis skal det nye filnavnet (mappe) bestå av ett tegn eller tall, som i mitt eksempel.

Slik løses problemet med å slette filer eller mapper med et langt navn enkelt. Dette er selvfølgelig ikke den eneste metoden. Kan fjern med spesielle programmer eller gjennom registeret - jeg viste bare den manuelle metoden. For noen vil det ta bare et minutt, for andre vil det ta en halvtime - det er opp til deg å bestemme hvordan du forkorter filnavnet og den for lange banen til kilden.

Opp til nye nyttige tips og interessante dataprogrammer.

Det er ingen hemmelighet at Windows Utforsker, som de fleste andre Windows-applikasjoner, inkludert PowerShell, ikke kan fungere med filsystemobjekter med dyp mappe-hekking. banelengden overskrider 260 tegn. Dessuten eksisterer denne begrensningen bare på applikasjonsnivå, og selve NTFS-filsystemet støtter filstier opp til 32767 tegn.

Denne begrensningen er pålagt av biblioteket Win32 API, og hvis maksimale banelengde er 260 tegn ( MAX_PATH=260). Generelt er banen dannet av følgende elementer: +[path_of_256_characters]+[ ] , og maksimal lengde på én katalog/fil i NTFS er 255 tegn i Unicode. Ved bruk av Unicode API-funksjoner er det mulig å bruke banen til 32767 tegn. Takket være dette, mange tredjepartsprogrammer (de samme populære filbehandlerne, for eksempel LANGT Og Totalkommandør) behandler uten problemer filer/mapper hvis banelengde overstiger 260 tegn.

Råd. Du kan omgå denne begrensningen til Win32 API og arbeide med lange filnavn ved å bruke UNC-baneformatet, og spesifisere den absolutte banen til filen ved å bruke baneprefikset med utvidet lengde \\?\ . For eksempel, som dette \\?\C:\SomeLongPath\LongNameFile.txt

Denne begrensningen gjelder heller ikke når brukere har nettverkstilgang til filer via SMB-protokollen (på grunn av dette er katalogstrukturer med lange baner vanlig på filservere med brukerdata). Administratoren som vedlikeholder denne serveren kan ikke administrere (slette/flytte) filer med lange baner gjennom standard Windows Explorer-grensesnitt. Når du prøver å opprette/kopiere en fil til en slik katalog, vises en feilmelding:

Destinasjonsveien er for lang. Filnavnet(e) vil være for langt for målmappen. Du kan forkorte filnavnet og prøve igjen, eller prøve en plassering som har en forkortet bane

Andre programmer/dialogbokser kan rapportere tilstedeværelsen av begrensningen på sin egen måte.

Enig, det er morsomt at det er 2014, og vi snakker fortsatt om grensen på 260 tegn på maksimal banelengde i Windows... Men det ser ut til at det ikke forventes noen drastiske endringer i nær fremtid, og til og med i det aller siste Windows 10 Technical Preview denne begrensningen eksisterer fortsatt.

I denne artikkelen vil vi vise hvordan du i Windows kan jobbe med filer hvis bane overskrider 260 tegn. I dette tilfellet er vår oppgave å slette en katalog som inneholder filer med lang banelengde.

Når du prøver å slette en slik katalog fra Explorer, vises en feilmelding:

Filnavnet(e) vil være for langt for målmappen. Du kan forkorte filnavnet og prøve igjen, eller prøve en plassering som har en forkortet bane.

Powershell kan heller ikke håndtere kataloger og filer med store baner som overstiger 260 tegn. Når du prøver å slette en katalog med slike filer (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath), vises en feilmelding:

Remove-Item .\verylongpath -Recurse

Remove-Item: Den angitte banen, filnavnet eller begge er for lange. Det fullstendige filnavnet må være mindre enn 260
tegn, og katalognavnet må være mindre enn 248 tegn.
Ved linje:1 char:1
+ Remove-Item .\verylongpath -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: WriteError: (C:\Install\MS S...it\verylongpath:String) , PathTooLongExcepti

+ FullyQualifiedErrorId: RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

Det enkleste alternativet (det er faktisk foreslått i feilvinduet) er å forkorte navnet på de overordnede mappene, og redusere den totale lengden på banen (men dette er ikke alltid aktuelt).

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

Et annet alternativ, som minner om å jobbe med en symbolsk lenke, er å kartlegge den problematiske mappen til en virtuell disk (i vårt eksempel X:), og dermed også redusere banelengden:

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

Nå kan du jobbe med data på X:-stasjonen, banene til filene vil ikke overskride grensen. Etter å ha fullført arbeidet, kan du slette den virtuelle disken:

Subst X: /d

Men personlig er det jeg liker best for oppgaven med å slette data i slike situasjoner, evnen robocopy.exe, som støtter arbeid med lange veier.

Bruker alternativet /MIR, kan robocopy-verktøyet lage en fullstendig kopi (speil) av kildekatalogen i målkatalogen. Og hvis kildemappen er tom, slettes også alle data i målmappen. La oss lage en tom mappe C:\Install\test og bruk /MIR-argumentet, kopier innholdet i testmappen til målmappen (hvis mappenavnet inneholder mellomrom eller kyrilliske tegn, må banen være omgitt av anførselstegn).

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

Etter å ha utført kommandoen, slettes innholdet i katalogen C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath (erstattet med innholdet i den tomme katalogen).

Så i dag viste vi noen enkle triks som du kan bruke når du arbeider med mapper på filservere som inneholder mapper hvis banelengde overskrider grensen på 260 tegn.

Her er et eksempel på en mappestruktur som jeg kalte "den store dukken":

Som du kan se, på stasjonen "D" (Data) er det en kildevideomappe, i den er det en "Movies"-mappe, i den er det "Alt du trenger for å se filmer" og deretter på samme måte en mappe i en mappe. Samtidig har mange mapper lange navn og navn - mer enn 10-15 tegn, som totalt vil gi volumet av tegn i alle navn mer enn 260. Og hvis det på slutten av en slik "matryoshka" er en fil, så kan det vise seg at du ikke kan jobbe med den du kan... Noen ganger lar ikke selve systemet deg til slutt opprette en mappe eller fil som overskrider tillatt antall tegn, men noen ganger skjer dette av en eller annen grunn.

Først, for nybegynnere, vil jeg forklare hva en fil- og mappebane er. Sti er den såkalte adressen på datamaskinen hvor filen eller mappen ligger. For eksempel er en fil kalt "My file.txt" plassert på den lokale stasjonen D: i "Documents"-mappen. Da vil banen til denne filen se slik ut:

D:\Documents\My file.txt

Eller, for eksempel, dette er hvordan banen fra eksempelet ovenfor vil se ut, hvor jeg viste en kompleks mappestruktur.

Som du kan se, er antallet tegn i banen over stort, og det er mulig at det på slutten vil være en fil eller mappe med et langt navn som du ikke kan slette.

Når du prøver å slette en fil med et langt banenavn, vil du få et vindu med en feil som denne:

Jeg prøvde å gjenskape problemet kunstig, og dette er hva jeg fikk.

På stasjon "D" opprettet jeg en mappe med det korte navnet "1" og plasserte en fil med et veldig langt navn. Her er et eksempel:

Nå gir jeg også nytt navn til mappen "1" til et veldig langt navn, for eksempel:

Interessant nok lar Windows deg fritt gi nytt navn til en mappe til et så langt navn, til tross for at antallet tegn i navnet på denne mappen + filnavnet allerede overstiger 260! Vel, etter å ha omdøpt mappen til et langt navn, kan jeg ikke lenger slette filen som ligger i den og få feilen vist.

Eller her er et annet eksempel... Jeg vedlikeholder nettstedet til Moscow Instrument-Making College, hvor jeg tidligere jobbet på heltid, og noen ganger bruker jeg en kopi av nettstedet på datamaskinen min for å teste noen nye "godbiter" for nettstedet. Hva om jeg installerer noe dårlig og nettsiden på hostingen dør? :) Og så sjekker jeg det på datamaskinen min og hvis alt er i orden, så setter jeg det opp på en ekte nettside som ligger på hostingen. Så en gang overførte jeg hele nettstedet fra hosting for å teste én ting, og etter at jeg var ferdig med å jobbe bestemte jeg meg for å slette mappen med nettstedet fra datamaskinen min. Tross alt veier den omtrent 6 GB. Hele siden ble slettet, bortsett fra en rekke mapper. Jeg begynte å lete og så at de mappene som inneholdt en fil med et langt navn i form av hieroglyfer ikke ble slettet:

Jeg prøvde å slette denne filen med et langt navn igjen og så den samme feilen som jeg nevnte ovenfor. Jeg prøvde å gi det nytt navn, men det fungerer heller ikke. Vel, jeg måtte tenke på hvordan jeg skulle løse problemet.

Hvordan løse problemet med å slette en mappe/fil med et langt banenavn!

Jeg prøvde 2 måter å slette en mappe/fil med et langt navn i banen til. Begge er ikke teknisk vanskelige (spesielt den første), så jeg tror en nybegynner kan klare seg hvis han gjør alt akkurat som jeg viser:

    Gi nytt navn til flere mapper i filbanen til et kortere navn. Dette er den enkleste løsningen som allerede burde hjelpe mange! Anta at du har en fil i en mappe med et veldig langt navn som du ikke kan slette, åpne, kopiere og generelt ikke kan jobbe med.

    Prøv deretter å endre navn på mappen der filen med et langt navn ligger, for eksempel til "1". La meg gå tilbake til et av eksemplene ovenfor. Her er en mappe med et langt navn:

    Ved å bruke standard Windows Utforsker endrer jeg navnet på den mappen til "1", og dette er hvordan banen til filen nå ser ut:

    Nå kan du trygt jobbe med filen, systemet lar deg åpne den, gi den nytt navn og slette den.

    Hvis du har et langt mappetre, dvs. som en hekkende dukke, i en mappe er det en annen, i den er det en annen, så en annen, og begynn å gi nytt navn fra den aller første mappen fra denne hekkende dukken. Ikke med den siste på listen, men med den første!

    Det kan være at det er et stort antall mapper, og du vil ikke kunne endre navn på noen av dem på grunn av den samme feilen, eller det vil ta deg mye tid. I dette tilfellet foreslår jeg den andre metoden.

    Metoden er at du kan ta en mappe, for eksempel i midten av et felles tre og koble den til som en virtuell disk. En virtuell disk er noe som minner oss om en vanlig lokal disk, men som ganske enkelt er knyttet til en bestemt mappe, for eksempel for rask interaksjon med den.

    La oss si at du har en lang vei som dette:

    D:\Video\Mine filmer\Alt du trenger for å se filmer\Programmer for å se film\Hvordan åpne MP4-filmer\Liste over MP4-eksempelfilmer\Liste over programmer for åpning av MP4\Hva du ikke skal gjøre når du åpner MP4-filer

    La oss anta at vi i den aller siste mappen har en slags problematisk fil som vi ikke kan jobbe med, siden veien til den, som vi ser, er ganske lang :)

    Vi kan ta og koble en av mappene med et langt navn i midten av banen som en virtuell disk. La dette være mappen "Programmer for å se filmer".

    For å koble til en virtuell disk trenger vi den såkalte Windows-kommandolinjen, dvs. konsoll.

    Du kan åpne den gjennom Windows-søk. I søket skriver du "Kommandolinje":

    I kommandolinjevinduet må vi skrive inn kommandoen:

    subst virtual_disk_letter "bane_til_mappe"

    Du kan angi hvilken som helst stasjonsbokstav, så lenge den ikke allerede er okkupert av en av de lokale stasjonene. For eksempel har du en lokal stasjon C og D, noe som betyr at du ikke lenger kan ringe den virtuelle stasjonen med samme bokstav. Du kan for eksempel kalle det bokstaven "X", fordi det sjelden brukes i Windows.

    For mappebanen setter du inn banen til mappen du vil koble til som en virtuell. Som jeg allerede sa, i mitt eksempel vil vi lage "Programmer for å se filmer" som en virtuell mappe, noe som betyr at banen må spesifiseres slik:

    D:\Video\Mine filmer\Alt du trenger for å se filmer\Programmer for å se film\

    Så den siste kommandoen i mitt tilfelle vil se slik ut:

    subst X: "D:\Video\Mine filmer\Alt du trenger for å se filmer\Programmer for å se film\"

    For å utføre den angitte kommandoen, trykk "Enter"-tasten på tastaturet. Den virtuelle disken vil bli opprettet.

    La oss nå gå til Windows Utforsker, gå til delen "Denne PCen" (eller "Datamaskinen") og se den opprettede virtuelle disken der:

    Du kan skille det med bokstaven. Jeg tildelte bokstaven "X" til den virtuelle disken. Hvis vi nå åpner denne virtuelle disken, vil vi umiddelbart finne oss selv i mappen "Programmer for å se filmer". De. vi tok og kuttet av halve stien til den siste mappen.

    Til sammenligning...

    Tidligere så banen til den endelige mappen slik ut:

    D:\Video\Mine filmer\Alt du trenger for å se filmer\Programmer for å se film\Hvordan åpne MP4-filmer\Liste over MP4-eksempelfilmer\Liste over programmer for åpning av MP4\Hva du ikke skal gjøre når du åpner MP4-filer

    Etter å ha koblet den virtuelle disken til mappen "Programmer for å se filmer", ser banen til den endelige mappen slik ut:

    X:\Hvordan åpne MP4-filmer\Liste over MP4-eksempelfilmer\Liste over programmer for å åpne MP4\Hva du ikke skal gjøre når du åpner MP4-filer

    Føler du forskjellen? Banen er forkortet med halvparten, siden stasjonsbokstaven umiddelbart leder oss til mappen i midten av banen :) Og siden banen er kraftig forkortet, har du sannsynligvis nå fjernet tegngrensen i navnene på filer og mapper og vil kunne slette en fil eller mappe med et langt navn!

    Etter at du har løst problemet med filen, kan den virtuelle disken slettes igjen, slik at den ikke blir et øyesår i Utforsker.

    For å gjøre dette, åpne Windows-kommandolinjen igjen og skriv inn kommandoen:

    Subst virtual_disk_letter /d

    I mitt tilfelle er stasjonsbokstaven "X", så kommandoen vil se slik ut:

Da jeg tenkte på alternativer for å løse problemet, hvordan du sletter en mappe eller fil med et langt navn, fant jeg et annet alternativ på Internett: slett den problematiske filen gjennom Total Commander-programmet. Jeg prøvde det, det gikk ikke, derfor anbefalte jeg ikke denne metoden :)) Og metoden, selv om den ville fungere for noen, er ærlig talt ikke morsom, fordi du må installere et ekstra program på din datamaskin for å slette bare én fil eller mapper med et langt navn...

Jeg tror at hvis et lignende problem oppstår, som jeg har hatt mer enn en gang, vil en av metodene beskrevet ovenfor definitivt hjelpe deg.

Det er alt! Vi sees snart i de neste artiklene ;)