For langt filnavn angitt for å åpne. Hvis en fil med et langt navn ikke slettes og det vises en feil om at filsystemet ikke støtter så lange navn

Det skadelige Windows-operativsystemet lar deg ikke slette filen og roper at den har "For lang vei til kilden"? I denne artikkelen vil jeg fortelle deg hvor enkelt og enkelt, uten noen programmer, å beseire dette angrepet ved å forkorte filnavnet.

For lang vei til kilden – hvorfor?

Jeg vil umiddelbart forklare hvorfor en slik systemadvarsel vises, og det er ikke mulig å utføre elementære kopierings- eller slettehandlinger med 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 har du et kort fil- eller mappenavn, for eksempel "Feriebilde"? Poenget er at det "dumme" systemet tar hele banen til filen som navn. Hvis filen eller mappen din ligger et sted for dypt i filbehandlingen, vil navnet på den se omtrent slik ut ...

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

Hvordan kan jeg slette en fil eller mappe som ikke kan slettes i dette tilfellet? Det er veldig enkelt - du må forkorte filnavnet (banen) ved å gi nytt navn til mappene som er nestet i hverandre.

Hvordan slette en fil med et langt navn

Jeg vil vise ved 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 nettstedssikkerhetskopier, men de ønsket ikke å slette. Som du gjettet, var det en advarsel om for lang vei til kilden ...

Starter fra den aller første mappen i denne lange banen - omdøpt til flere stykker ...

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

Naturligvis bør det nye navnet på filen (mappen) 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 slette med spesielle programmer eller gjennom registeret - jeg viste bare den manuelle metoden. For noen vil det ta et minutt av alt, og for noen vil det ta en halvtime - det er opp til deg hvordan du forkorter filnavnet og den for lange veien til kilden.

Inntil nye nyttige tips og interessante dataprogrammer.

Her er et eksempel på en mappestruktur som jeg kaller en "stor hekkende dukke":

Som du kan se, på "D" (Data)-stasjonen er det en original videomappe, det er en "Movies"-mappe i den, "Alt du trenger for å se filmer" i den, og deretter på samme måte en mappe i en mappe. Samtidig har mange mapper lange navn på 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 vil jobbe med den kan du ... Noen ganger tillater ikke systemet i seg selv at du oppretter en mappe eller fil som overskrider det tillatte antallet tegn, men noen ganger skjer dette av en eller annen grunn .

I begynnelsen, for nybegynnere, vil jeg forklare hva banen til en fil og mappe er. Stien 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: \ Dokumenter \ Min fil.txt

Eller for eksempel slik vil banen fra eksempelet ovenfor, der jeg viste en kompleks mappestruktur, se ut.

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, får du opp et vindu med en feil som dette:

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

På disk "D" opprettet jeg en mappe med et kort navn "1" og la inn en fil med et veldig langt navn. Her er et eksempel:

Nå omdøper jeg den 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 en slik omdøping av en mappe 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 Moskva Instrument-Making Technical School, hvor jeg tidligere jobbet fulltid og noen ganger for å teste noen nye "godbiter" for nettstedet, bruker jeg en kopi av nettstedet på datamaskinen min. Og hva så om jeg installerer noe dårlig og siden på hostingen dør? :) Og så jeg sjekker det på datamaskinen min, og hvis alt er i orden, så har jeg allerede satt det opp på et ekte nettsted som ligger på en hosting. Så når jeg overførte hele nettstedet fra hostingen for å teste én ting, og etter at jeg var ferdig med arbeidet, 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 igjen å slette denne filen med et langt navn og så den samme feilen som jeg nevnte ovenfor. Jeg prøvde å gi det nytt navn, det funker 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 hvordan du kan slette en mappe / fil med et langt navn i banen til dem. Begge er ikke teknisk vanskelige (spesielt den første), så jeg tror en nybegynner kan takle det 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 å gi nytt navn til mappen som inneholder filen med et langt navn, for eksempel til "1". Jeg kommer tilbake til et av eksemplene ovenfor. Her er en mappe med et langt navn:

    Jeg gir nytt navn til den mappen til "1" gjennom standard Windows Utforsker, og slik ser banen til filen nå ut:

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

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

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

    Måten er at du kan ta en mappe, for eksempel, midt i et delt tre og koble den til som en virtuell disk. En virtuell disk er noe som minner oss om en vanlig lokal disk, men som rett og slett er knyttet til en bestemt mappe, for eksempel for raskt å samhandle med den.

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

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

    Anta at vi i den aller siste mappen har en problematisk fil som vi ikke kan jobbe med, siden banen til den, som vi kan se, er ganske anstendig lengde :)

    Vi kan ta og koble til en av de lange navngitte mappene i midten av banen som en virtuell disk. La det 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øket. I søket skriver du "Kommandolinje":

    I kommandolinjevinduet må vi skrive inn kommandoen:

    subst virtual_drive_letter "mappebane"

    Du kan sette inn hvilken som helst stasjonsbokstav, bare slik at den ikke lenger er opptatt av en av de lokale stasjonene. For eksempel har du en lokal stasjon C og D, som betyr at du ikke kan kalle den virtuelle stasjonen samme bokstav. Du kan kalle det for eksempel bokstaven "X", fordi det sjelden brukes av noen i Windows.

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

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

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

    subst X: "D: \ Videos \ My Movies \ Alt du trenger for å se filmer \ Programmer for å se filmer \"

    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 datamaskinen" (eller "Datamaskin") og se den opprettede virtuelle disken der:

    Du kan skille det med bokstav. Jeg tildelte bokstaven "X" til den virtuelle disken. Nå hvis du åpner denne virtuelle disken, vil vi umiddelbart finne oss selv i mappen "Programmer for å se filmer". De. vi tok og kuttet nafig halve veien til den siste mappen.

    Til sammenligning ...

    Tidligere så banen til målmappen slik ut:

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

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

    X: \ Hvordan åpne MP4-filmer \ Liste over eksempler på MP4-filmer \ 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 i to, fordi stasjonsbokstaven dirigerer oss umiddelbart til mappen i midten av banen :) Og siden banen er kraftig forkortet, har du sannsynligvis nå fjernet tegnbegrensningen i navn på filer og mapper og du kan slette en fil eller mappe med et langt navn!

    Etter at du har løst problemet med filen, kan du slette den virtuelle disken igjen slik at den ikke plager øynene dine i utforskeren.

    For å gjøre dette, åpne Windows Ledetekst 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å løsninger på problemet, hvordan slette en mappe eller fil med et langt navn, fant jeg et annet alternativ på Internett: slett problemfilen ved å bruke Total Commander-programmet. Jeg prøvde det, det fungerte ikke, så jeg anbefalte ikke denne metoden :)) Og metoden, selv om den fungerte for noen, er ærlig talt ikke kul, fordi du må installere et ekstra program på datamaskinen din i for å slette bare én fil eller mapper med et langt navn ...

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

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

Det er ingen hemmelighet at Windows Utforsker, som de fleste andre Windows-applikasjoner, inkludert PowerShell, ikke kan fungere med dypt nestede filsystemobjekter. banelengde som overstiger 260 tegn... Dessuten eksisterer denne begrensningen kun på applikasjonsnivå, og selve NTFS-filsystemet støtter filstier opp til 32767 tegn.

Denne begrensningen er pålagt av biblioteket Win32 API, og som har maksimal banelengde på 260 tegn ( MAX_PATH = 260). Generelt er en sti dannet av følgende elementer: + [bane_fra_256_tegn] + [ ] , 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 Total sjef) behandler filer / mapper uten problemer, lengden på banen som overstiger 260 tegn.

Råd... Du kan omgå denne Win32 API-begrensningen og jobbe 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 ikke uvanlig på filservere med brukerdata). Administratoren som betjener 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 indikere tilstedeværelsen av begrensningen på sin egen måte.

Enig, det er morsomt at utenfor vinduet 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 svært nær fremtid. fersk Windows 10 Technical Preview denne begrensningen eksisterer fortsatt.

I denne artikkelen vil vi vise deg hvordan du kan jobbe med filer i Windows med baner lengre enn 260 tegn. I dette tilfellet er vår oppgave å slette en katalog som inneholder filer med lange banelengder.

Når du prøver å slette en slik katalog fra utforskeren, 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 vet heller ikke hvordan man skal 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 feil:

Fjern-element \ 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 linjen: 1 tegn: 1
+ Fjern-element \ Verylongpath -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: WriteError: (C: \ Install \ MS S ... it \ verylongpath: String), PathTooLongExcepti

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

Det enkleste alternativet (som faktisk tilbys i vinduet med en feil) er å forkorte navnet på de overordnede mappene ved å redusere den totale banelengden (men 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 problemmappen til en virtuell disk (i vårt eksempel, X :), og dermed også forkorte 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, mest av alt for oppgaven med å slette data i slike situasjoner, liker jeg mulighetene robocopy.exe som støtter lange veier.

Med alternativet / MIR, kan robocopy-verktøyet lage en komplett kopi (speil) av kildekatalogen i målet. Og hvis kildemappen er tom, slettes også alle data i målmappen. Opprett 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 deg noen enkle triks som kan brukes når du arbeider med mapper på filservere som inneholder mapper med banelengder større enn 260 tegn.

Vi har en lang tittel, men den indikerer essensen av problemet, som vil bli beskrevet her. Jeg har nylig havnet i en ikke så god situasjon. Når jeg sorterte på harddisken og renset den fra unødvendige, fant jeg ut at en av filene ikke ble slettet, og det dukket opp en feil med følgende innhold: «Filsystemet støtter ikke så lange kildefilnavn. Prøv å flytte filen til en mappe med kortere banelengde, eller spesifiser et kortere filnavn og prøv igjen."

Ikke bare kunne jeg ikke slette filen, men jeg klarte 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 er problemet løst veldig enkelt og raskt, og nå vil jeg beskrive to metoder for å løse det, og hvilken du skal bruke er opp til deg.

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

Hvis det er en fil som ikke blir slettet på grunn av et langt navn, er det flere måter å løse problemet på. For eksempel er en fil nestet i flere kataloger, for eksempel fem eller ti mapper, som har navn på 10-20 tegn hver, så dette kan være årsaken til at filen ikke slettes. Poenget er at Windows ikke støtter noen filer med mer enn 260 tegn i navnene deres. Hvis denne grensen overskrides, vil feilen jeg viste ovenfor vises. Antall mapper som har egne navn og selve filnavnet må inneholde opptil mindre enn 260 tegn. Systemet har også en funksjon - hvis denne grensen overskrides, kan vi fortsatt endre navn på 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 dukke opp ikke bare fordi du ga et så langt navn. Dette skjedde med meg da jeg bestemte meg for å laste ned filene til nettstedene fra serveren og gjøre noe. Siden filene ikke lenger var nødvendige, slettet jeg hele katalogen med nettstedfilene, men som det viste seg, inneholdt den en fil med et veldig langt navn, pluss navnene på mappene, og dette tillot meg ikke å slette alle dette.

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 filsystemfeilen vil fortsatt ta av. Deretter kan du opprette en virtuell disk ved å bruke hvilken som helst av undermappene som fører til den ikke-slettede filen. Nå skal jeg vise deg hvordan du gjør dette.

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

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

Du må velge en stasjonsbokstav som ikke er okkupert av andre. Systempartisjonen er vanligvis indikert med bokstavene C, og den andre partisjonen, som D eller E, så velger vi hvilken som helst annen.

Banen til mappen må spesifiseres fra disken. Hvis du synes det er vanskelig, åpner du mappen som vil fungere som en virtuell disk og kopierer banen til den i utforskeren øverst.

Kommandoen min ser slik ut:

Når vi går til Min datamaskin, bør du se en stasjon med bokstaven som vi har tildelt 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 ikke-flyttbare.


For å slette den virtuelle disken, må du skrive inn kommandoen:

subst DriveLetter / d

Bruker Total Commander

På Internett oppdaget jeg en metode som lar deg slette ikke-flyttbare filer ved hjelp av. Selvfølgelig er ulempen her at du må installere ekstra programvare på datamaskinen din, og ikke alle vil gjøre dette. Uansett vil jeg la denne metoden ligge her, som plutselig vil bruke den.

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


Vi bruker arkiveren 7-Zip

For dette tilfellet trenger vi en 7-Zip-arkiver. Høyreklikk på hjemmekatalogen og pek musen til partisjonen "7-Zip" og velg elementet "Legg til i arkiv".

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

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

Vi har vurdert slike måter å fikse feilen i filen som ikke er slettet. Kanskje du har flere alternativer for hvordan du kan gjøre dette?