Det angivne navn er forkert eller for langt. Filnavnet eller kildestien er for lang

Skadelig operativ system Windows vil ikke lade dig slette filen og skriger, at den er "Også en lang vej til kilde"? I denne artikel vil jeg fortælle dig, hvordan du nemt og enkelt, uden nogen programmer, kan besejre denne plage ved at forkorte filnavnet.

Vejen til kilden er for lang – hvorfor?

Jeg vil gerne forklare med det samme, hvorfor en sådan systemadvarsel vises, og det ikke er muligt at udføre grundlæggende kopierings- eller sletningshandlinger på en fil (mappe)...

Selve meddelelsen indeholder svaret på dette spørgsmål - fil Windows system understøtter (forstår ikke) navne kildefiler længere end 255 tegn.

Men dit fil- eller mappenavn er kort, for eksempel "Feriebilleder"? Faktum er, at det "dumme" system opfatter hele stien til filen som dens navn. Hvis din fil eller mappe er placeret et sted for dybt i filhåndteringen, vil dens navn se sådan ud...

Så navnesymbolerne er samlet i en bande på mere end 255 stykker.

Hvordan sletter man en ikke-sletbar fil eller mappe i dette tilfælde? Det er meget enkelt - du skal forkorte filnavnet (stien) ved at omdøbe indlejrede mapper.

Sådan sletter du en fil med et langt navn

Jeg viser dig med mit eksempel, hvordan du sletter en fil med et langt navn, som, som systemet skriver, har en for lang sti til kilden.

I går besluttede jeg mig rense din computer fra de gamle sikkerhedskopier websted, men de ønskede ikke at blive slettet. Som du gættede, dukkede en advarsel op om, at stien til kilden var for lang...

Startende fra den allerførste mappe i denne lange sti, omdøbte jeg flere ting...

...og forsøgte igen at slippe af med filen med nu mere kort navn— han gik sikkert til landet med slettede filer.

Naturligvis skal det nye fil (mappe) navn bestå af et tegn eller tal, som i mit eksempel.

Sådan løses problemet med at slette filer eller mapper med et langt navn nemt. Dette er naturligvis ikke den eneste metode. Kan særlige programmer slette eller gennem registreringsdatabasen - jeg viste lige manuel metode. For nogle tager det kun et minut, for andre vil det tage en halv time - det er op til dig at beslutte, hvordan du forkorter filnavnet og den for lange sti til kilden.

Indtil ny nyttige tips og interessante computerprogrammer.

Det er ingen hemmelighed Windows Stifinder, ligesom de fleste andre Windows-applikationer, inklusive PowerShell, kan ikke arbejde med objekter filsystem med dyb indlejring af mapper, hvis vejlængde overstiger 260 tegn. Desuden eksisterer denne begrænsning kun på applikationsniveau og selve filen NTFS system understøtter filstier op til 32767 tegn.

Denne begrænsning er pålagt af biblioteket Win32 API, og hvis maksimale stilængde er 260 tegn ( MAX_PATH=260). Generelt er stien dannet af følgende elementer: +[sti_af_256_tegn]+[ ] , og den maksimale længde af én mappe/fil i NTFS er 255 tegn i Unicode. Ved brug af Unicode API-funktioner er det muligt at bruge stien til 32767 tegn. Takket være dette, mange tredjeparts programmer(det samme populære filadministratorer, For eksempel LANGT Og Total kommandør ) behandler uden problemer filer/mapper, hvis stilængde overstiger 260 tegn.

Råd. Du kan komme uden om denne begrænsning af Win32 API og arbejde med lange filnavne ved at bruge UNC-stiformatet og specificere absolut vej til filen ved at bruge stipræfikset med udvidet længde \\?\ . For eksempel som denne \\?\C:\SomeLongPath\LongNameFile.txt

Denne begrænsning gælder heller ikke hvornår netværksadgang brugere til filer via SMB-protokollen (på grund af dette er biblioteksstrukturer med lange stier ofte filservere med brugerdata). Administrator betjener denne server kan ikke komme igennem standard interface leder Windows Stifinder administrere (slette/flytte) filer med lange stier. Når du forsøger at oprette/kopiere en fil til en sådan mappe, vises en fejl:

Destinationsstien er for lang. Filnavnet eller filnavnene ville være for lange til destinationsmappen. Du kan forkorte filnavnet og Prøv igen, eller prøv en placering, der har en forkortet sti

Andre programmer/dialogbokse kan rapportere tilstedeværelsen af ​​begrænsningen på deres egen måde.

Enig, det er sjovt, at det er 2014, og vi taler stadig om grænsen på 260 tegn pr. side. maksimal længde stier i Windows... Men det ser ud til, at der ikke forventes nogen grundlæggende ændringer i den nærmeste fremtid, og selv i det allernyeste Windows 10 Technical Preview eksisterer denne begrænsning stadig.

I denne artikel vil vi vise, hvordan du i Windows kan arbejde med filer, hvis sti overstiger 260 tegn. I I dette tilfælde vores opgave er at slette den mappe, der indeholder filer med lang længde måder.

Når du forsøger at slette en sådan mappe fra Stifinder, vises en fejl:

Filnavnet/-navnene ville være for lange til destinationsmappen. Du kan forkorte filnavnet og prøve igen, eller prøve en placering, der har en forkortet sti.

Powershell kan heller ikke korrekt håndtere mapper og filer med store stier på over 260 tegn. Når du forsøger at slette en mappe med sådanne filer (C:\Install\MS SQL 2012 Express udgave 64 bit\verylongpath) vises en fejl:

Remove-Item .\verylongpath -Recurse

Remove-Item: Den angivne sti, filnavn eller begge er for lange. Det fuldt kvalificerede filnavn skal være mindre end 260
tegn, og mappenavnet skal være mindre end 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

Den enkleste mulighed (det er faktisk foreslået i fejlvinduet) er at forkorte navnet på de overordnede mapper, hvilket reducerer den samlede længde af stien (men dette er ikke altid relevant).

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

En anden mulighed, der minder om at arbejde med et symbolsk link, er at tilknytte den problematiske mappe til en virtuel disk (i vores eksempel X:), og dermed også reducere stielængden:

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

Nu kan du arbejde med data på X:-drevet, hvor stierne til filer ikke overskrider grænsen. Efter endt arbejde kan du slette virtuel disk:

Subst X: /d

Men personligt kan jeg bedst lide opgaven med at slette data i sådanne situationer, evnen robocopy.exe, som understøtter arbejdet med lange veje.

Brug af muligheden /MIR, kan robocopy-værktøjet oprette fuld kopi(spejle) kildebiblioteket i målbiblioteket. Og hvis kildemappen er tom, ryddes alle data i målmappen også. Lad os oprette en tom mappe C:\Install\test og brug /MIR-argumentet, kopier indholdet af testmappen til målmappen (hvis mappenavnet indeholder mellemrum eller kyrilliske tegn, skal stien være omgivet af anførselstegn).

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

Efter udførelse af kommandoen ryddes indholdet af mappen C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath (erstattet med indholdet af den tomme mappe).

Så i dag viste vi nogle enkle tricks, som du kan bruge, når du arbejder med mapper på filservere, der indeholder mapper, hvis stilængde overstiger grænsen på 260 tegn.

Titlen viste sig at være lang, men den indikerer essensen af ​​problemet, der vil blive beskrevet her. For nylig stødte jeg på en ikke særlig god situation. Mens jeg sorterede harddisken og ryddede den for unødvendige ting, opdagede jeg, at en af ​​filerne ikke blev slettet, men følgende fejl dukkede op: “Filsystemet understøtter ikke så lange kildefilnavne. Prøv at flytte filen til en mappe med en kortere sti, eller angiv et kortere filnavn, og prøv igen."

Ikke alene kunne jeg ikke slette filen, men jeg kunne heller ikke ændre navnet til et kortere navn. For mange vil dette virke som en blindgyde, for det viser sig, at filen ikke er slettet.

Faktisk kan problemet løses meget enkelt og hurtigt, og nu vil jeg beskrive to metoder til at løse det, og det er op til dig at beslutte, hvilken du skal bruge.

Hvad skal man gøre, hvis stien til kilden er for lang, hvordan sletter man sådan en fil?

Hvis du har en fil, der ikke er slettet på grund af et langt navn, er der flere muligheder for at løse problemet. For eksempel er en fil indlejret i flere mapper, f.eks. fem eller endda ti mapper, der har navne på 10-20 tegn, så kan dette være årsagen til ikke at slette filen. Faktum er, at Windows ikke understøtter nogen filer, hvis navne har mere end 260 tegn. Hvis denne grænse overskrides, vises fejlen, som jeg viste ovenfor. Antallet af mapper med deres egne navne og selve filnavnet bør i alt være mindre end 260 tegn. Systemet har også en funktion - hvis denne grænse overskrides, kan vi stadig omdøbe mapper. Det betyder, at du skal omdøbe alle mapper til et kort navn, for eksempel et bogstav eller tal.


Dette problem kan opstå, ikke kun fordi du gav et så langt navn. Dette skete for mig, da jeg besluttede at downloade webstedsfiler fra serveren og gøre noget. Da filerne ikke længere var nødvendige, slettede jeg hele mappen med webstedsfilerne, men som det viste sig, indeholdt den en fil med et meget langt navn plus mappenavne, og det tillod mig ikke at slette det hele.

Metode to vil hjælpe, hvis den første fejlede. Faktum er, at ikke alle mapper, der fører til en fil med et langt navn, kan omdøbes, og den samme filsystemfejl vil opstå. Derefter kan du oprette en virtuel disk ved hjælp af en af ​​de undermapper, der fører til den ikke-slettelige fil. Nu vil jeg vise dig, hvordan du gør dette.

Åbning kommandolinje. For at gøre dette skal du trykke på Win+R-kombinationen og indtaste kommandoen cmd. Du kan klikke Højreklik musen på Start-menuen (eller Win+X-tastkombinationen) og vælg kommandolinjen der.

Nu skriver du en kommando, der vil oprette en virtuel disk til os:

Du skal vælge et drevbogstav, der ikke er optaget af andre. System partition Normalt er bogstaverne C angivet, og den anden sektion er angivet som D eller E, og vælg derefter en hvilken som helst anden.

Stien til mappen skal angives fra disken. Hvis dette er svært for dig, så åbn mappen, der fungerer som en virtuel disk, og kopier stien til den i Stifinder øverst.

Min kommando ser sådan ud:

Når vi går til Denne computer, skulle du se et drev der med det bogstav, som vi tildelte det fra kommandolinjen. Dermed vil stien til filen blive reduceret med næsten det halve, hvilket betyder, at den samlede længde af tegn kan være mindre end 260 tegn. Nu kan du prøve at slippe af med det undletable.


For at slette en virtuel disk skal du indtaste kommandoen:

substDiskLetter/d

Brug af Total Commander

På internettet opdagede jeg en metode, der giver dig mulighed for at slette filer, der ikke kan slettes ved hjælp af . Naturligvis er ulempen her, at du bliver nødt til at installere yderligere software på din computer, og ikke alle vil gøre dette. Under alle omstændigheder vil jeg efterlade denne metode her, hvis nogen vil bruge den.

Download og installer programmet. Lad os gå til fanen "Fil" klik på afsnittet "Skift attributter". Et vindue vises, hvor vi fjerner fluebenene fra alle attributter. Hvis der ikke er et flueben ved siden af ​​punktet øverst "Behandle mappeindhold"- vælg. Nu fra det samme program forsøger vi at slette en fil med et langt navn.


Vi bruger 7-Zip arkiver

Til denne opgave skal vi bruge en 7-Zip arkiver. Højreklik på startmappen og peg med musen på partitionen "7-Zip" og vælg elementet "Tilføj til arkiv".

Der vises et vindue, hvor du kun behøver at markere én boks. "Slet filer efter komprimering". Klik derefter på OK.

Et arkiv med alle disse ting er oprettet på skrivebordet, og mapper med lang fil er simpelthen slettet. Du kan slette selve arkivet uden problemer.

Dette er de måder, vi har set på for at rette op på filen, der ikke bliver slettet. Måske har du andre muligheder for, hvordan du gør dette?

Her er et eksempel på en mappestruktur, som jeg kaldte den "store dukke":

Som du kan se, på drev "D" (Data) er der en kildevideomappe, i den er der en "Movies"-mappe, i den er der "Alt hvad du behøver for at se film" og så på samme måde en mappe i en mappe. Samtidig har mange mapper lange navne og navne - mere end 10-15 tegn, hvilket i alt vil give mængden af ​​tegn i alle navne mere end 260. Og hvis der i slutningen af ​​en sådan "matryoshka" er en fil, så kan det vise sig, at du ikke kan arbejde med den, du kan... Nogle gange tillader systemet i sig selv ikke, at du i sidste ende kan oprette en mappe eller fil, der overstiger det tilladte antal tegn, men nogle gange sker det af en eller anden grund.

Først, for begyndere, vil jeg forklare, hvad en fil- og mappesti er. Sti er den såkaldte adresse på den computer, hvor filen eller mappen er placeret. For eksempel er en fil kaldet "My file.txt" placeret på det lokale drev D: i mappen "Documents". Så vil stien til denne fil se sådan ud:

D:\Dokumenter\Min fil.txt

Eller for eksempel sådan vil stien fra eksemplet ovenfor se ud, hvor jeg viste kompleks struktur mapper.

Som du kan se, er antallet af tegn i stien ovenfor stort, og det er muligt, at der til sidst vil være en fil eller mappe med et langt navn, som du ikke kan slette.

Når du forsøger at slette en fil med et langt stinavn, vil du modtage et vindue med en fejl som denne:

Jeg forsøgte kunstigt at genskabe problemet, og dette er, hvad jeg fik.

På drev "D" oprettede jeg en mappe med det korte navn "1" og placerede en fil med et meget langt navn i den. Her er et eksempel:

Nu omdøber jeg også den mappe "1" til et meget langt navn, for eksempel:

Interessant nok tillader Windows dig frit at omdøbe en mappe til et så langt navn, på trods af at antallet af tegn i navnet på denne mappe + filnavn allerede overstiger 260! Nå, efter at have omdøbt mappen til et langt navn, kan jeg ikke længere slette filen i den og få vist fejlen.

Eller her er et andet eksempel... Jeg vedligeholder webstedet for Moscow Instrument-Making College, hvor jeg tidligere arbejdede på fuld tid, og nogle gange bruger jeg en kopi af webstedet på min computer til at teste nogle nye "godbidder" til webstedet. Hvad hvis jeg installerer noget dårligt, og hjemmesiden på hostingen dør? :) Og så tjekker jeg det på min computer og hvis alt er i orden, så sætter jeg det op på en rigtig hjemmeside placeret på hostingen. Så en gang overførte jeg hele webstedet fra hosting for at teste én ting, og efter at jeg var færdig med at arbejde, besluttede jeg at slette mappen med webstedet fra min computer. Den vejer trods alt omkring 6 GB. Hele siden blev slettet, bortset fra en række mapper. Jeg begyndte at kigge og så, at de mapper, der indeholdt en fil med et langt navn i form af hieroglyffer, ikke blev slettet:

Jeg forsøgte at slette denne fil med et langt navn igen og så den samme fejl, som jeg nævnte ovenfor. Jeg prøvede at omdøbe det, men det virker heller ikke. Nå, jeg var nødt til at tænke over, hvordan jeg skulle løse problemet.

Sådan løser du problemet med at slette en mappe/fil med et langt stinavn!

Jeg prøvede 2 måder at slette en mappe/fil med et langt navn i stien til den. Begge af dem er ikke teknisk svære (især 1.), så jeg tror, ​​at en nybegynder kan klare sig, hvis han gør alt præcis som jeg viser:

    Omdøb flere mapper i en filsti til flere kort navn. Dette er den enkleste løsning, der allerede burde hjælpe mange! Antag, at du har en fil i en mappe med et meget langt navn, som du ikke kan slette, åbne, kopiere og generelt ikke kan arbejde med.

    Prøv derefter blot at omdøbe den mappe, hvor filen med et langt navn er placeret, for eksempel til "1". Lad mig vende tilbage til et af eksemplerne ovenfor. Her er en mappe med et langt navn:

    Jeg omdøber via standard leder Windows titel denne mappe i "1", og sådan ser filstien nu ud:

    Nu kan du sikkert arbejde med filen, systemet giver dig mulighed for at åbne den, omdøbe den og slette den.

    Hvis du har et langt mappetræ, dvs. som en rededukke, i en mappe er der en anden, i den er der en anden, så en anden, så begynd at omdøbe fra den allerførste mappe fra denne rededukke. Ikke med den sidste på listen, men med den første!

    Det kan være, at mapperne stor mængde og omdøbning af nogle af dem vil ikke fungere på grund af den samme fejl, eller det vil tage dig meget tid. I dette tilfælde foreslår jeg den anden metode.

    Metoden er, at du kan tage en eller anden mappe, for eksempel i midten af ​​et fælles træ og forbinde det som en virtuel disk. En virtuel disk er noget, der minder os om en almindelig disk. lokal disk, men som blot binder sig til bestemt mappe for hurtigt at interagere med det.

    Lad os sige, at du har en lang vej som denne:

    D:\Video\Mine film\Alt hvad du skal bruge for at se film\Programmer til at se film\Sådan åbner du MP4-film\Liste over MP4-eksempelfilm\Liste over programmer til åbning af MP4\Hvad du ikke skal gøre, når du åbner MP4-filer

    Lad os antage, at i sidste mappe vi har nogle problematisk fil, som vi ikke kan arbejde med, da vejen dertil, som vi ser, er ret lang :)

    Vi kan tage og forbinde en af ​​mapperne med et langt navn i midten af ​​stien som en virtuel disk. Lad dette være mappen "Programmer til at se film".

    For at tilslutte en virtuel disk skal vi bruge den såkaldte Windows-kommandolinje, dvs. konsol.

    Du kan åbne den via Windows-søgning. I søgningen skal du skrive "Kommandolinje":

    I kommandolinjevinduet skal vi skrive kommandoen:

    subst virtuel_disk_bogstav "sti_til_mappe"

    Du kan sætte et hvilket som helst drevbogstav, så længe det ikke allerede er optaget af et af lokale diske. For eksempel har du et lokalt drev C og D, hvilket betyder, at du ikke længere kan kalde det virtuelle drev med samme bogstav. Du kan kalde det for eksempel bogstavet "X", fordi det sjældent bruges i Windows.

    For mappestien indsætter du stien til den mappe, du vil forbinde som en virtuel. Som jeg allerede sagde, i mit eksempel virtuel mappe Lad os lave "Programmer til at se film", hvilket betyder, at stien skal angives sådan:

    D:\Video\Mine film\Alt hvad du behøver for at se film\Programmer til at se film\

    Så den sidste kommando i mit tilfælde vil se sådan ud:

    subst X: "D:\Video\Mine film\Alt hvad du behøver for at se film\Programmer til at se film\"

    For at udføre den indtastede kommando skal du trykke på "Enter"-tasten på tastaturet. Den virtuelle disk vil blive oprettet.

    Lad os nu gå til Windows Stifinder, gå til afsnittet "Denne pc" (eller "Computer") og se den oprettede virtuelle disk der:

    Du kan skelne det på bogstavet. Jeg tildelte bogstavet "X" til den virtuelle disk. Hvis vi nu åbner denne virtuelle disk, vil vi straks finde os selv i mappen "Programmer til at se film". De der. vi tog og skar halvdelen af ​​vejen til den sidste mappe.

    Til sammenligning...

    Tidligere så stien til den endelige mappe sådan ud:

    D:\Video\Mine film\Alt hvad du skal bruge for at se film\Programmer til at se film\Sådan åbner du MP4-film\Liste over MP4-eksempelfilm\Liste over programmer til åbning af MP4\Hvad du ikke skal gøre, når du åbner MP4-filer

    Efter at have tilsluttet den virtuelle disk til mappen "Programmer til at se film", ser stien til den endelige mappe sådan ud:

    X:\Sådan åbner du MP4-film\Liste over MP4-eksempelfilm\Liste over programmer til åbning af MP4\Hvad skal man ikke gøre, når man åbner MP4-filer

    Mærker du forskellen? Stien er forkortet til det halve, da drevbogstavet straks leder os til mappen i midten af ​​stien :) Og da stien er meget forkortet, har du sandsynligvis nu fjernet tegngrænsen i navnene på filer og mapper og vil være i stand til at slette en fil eller mappe med et langt navn!

    Efter du har løst problemet med filen, kan den virtuelle disk slettes igen, så den ikke bliver et øjenhul i Stifinder.

    For at gøre dette skal du åbne kommandoprompten igen Windows streng og indtast kommandoen:

    Subst virtuel_disk_bogstav /d

    I mit tilfælde er drevbogstavet "X", så kommandoen ville se sådan ud:

Da jeg tænkte på muligheder for at løse problemet, hvordan man sletter en mappe eller fil med et langt navn, fandt jeg en anden mulighed på internettet: slet den problematiske fil gennem programmet Total Commander. Jeg prøvede det, det lykkedes ikke, derfor anbefalede jeg ikke denne metode :)) Og metoden, selvom den ville virke for nogen, er ærlig talt ikke sjov, for du skal installere ekstra program til din computer for at slette én fil eller mappe med et langt navn...

Jeg tænker, når det sker lignende problem problem, som jeg har stødt på mere end én gang, vil en af ​​metoderne beskrevet ovenfor helt sikkert hjælpe dig.

Det er alt! Vi ses snart i de næste artikler ;)