Kan de bestandsnaam niet verwijderen is te lang. Kies het lange pad (of tot ziens MAX_PATH)

Hier is een voorbeeld van een mappenstructuur die ik de “grote pop” noemde:

Zoals u kunt zien, bevindt zich op station "D" (Gegevens) een bronvideomap, daarin bevindt zich een map "Films", daarin bevindt zich "Alles wat u nodig hebt om films te kijken" en dan op dezelfde manier een map binnen een map. Tegelijkertijd hebben veel mappen lange namen en namen - meer dan 10-15 tekens, wat in totaal het aantal tekens in alle namen meer dan 260 oplevert. En als er aan het einde van zo'n "matryoshka" een bestand, dan kan blijken dat u er niet mee kunt werken, maar dat kunt u wel... Soms staat het systeem zelf niet toe dat u uiteindelijk een map of bestand maakt dat het toegestane aantal tekens overschrijdt, maar soms gebeurt dit om de een of andere reden.

Eerst zal ik voor beginners uitleggen wat een bestands- en mappad is. Pad is het zogenaamde adres op de computer waar het bestand of de map zich bevindt. Een bestand met de naam "Mijn bestand.txt" bevindt zich bijvoorbeeld op het lokale station D: in de map "Documenten". Het pad naar dit bestand ziet er dan als volgt uit:

D:\Documenten\Mijn bestand.txt

Of dit is bijvoorbeeld hoe het pad uit het bovenstaande voorbeeld eruit zal zien, waarbij ik een complexe mappenstructuur liet zien.

Zoals u kunt zien, is het aantal tekens in het bovenstaande pad groot en is het mogelijk dat er aan het einde een bestand of map staat met een lange naam die u niet kunt verwijderen.

Wanneer u een bestand met een lange padnaam probeert te verwijderen, ontvangt u een venster met de volgende foutmelding:

Ik heb geprobeerd het probleem kunstmatig na te bootsen en dit is wat ik kreeg.

Op schijf “D” heb ik een map gemaakt met de korte naam “1” en een bestand met een zeer lange naam erin geplaatst. Hier is een voorbeeld:

Nu hernoem ik die map ook “1” naar een hele lange naam, bijvoorbeeld:

Interessant is dat Windows je vrijelijk toestaat een map te hernoemen naar zo'n lange naam, ondanks het feit dat het aantal tekens in de naam van deze map + bestandsnaam al groter is dan 260! Welnu, nadat ik de map een lange naam heb gegeven, kan ik het bestand dat zich daarin bevindt niet langer verwijderen en krijg ik de foutmelding te zien.

Of hier is nog een voorbeeld... Ik onderhoud de website van het Moskouse Instrument-Making College, waar ik voorheen fulltime werkte, en soms gebruik ik een kopie van de site op mijn computer om wat nieuwe “goodies” voor de site te testen. Wat moet ik doen als ik iets slechts installeer en de website op de hosting sterft? :) En dus controleer ik het op mijn computer en als alles in orde is, zet ik het op een echte website op de hosting. Dus op een keer heb ik de hele site overgezet van hosting om één ding te testen, en nadat ik klaar was met werken, besloot ik de map met de site van mijn computer te verwijderen. Hij weegt tenslotte ongeveer 6 GB. De hele site is verwijderd, op een aantal mappen na. Ik begon te zoeken en zag dat de mappen die een bestand met een lange naam in de vorm van hiërogliefen bevatten, niet waren verwijderd:

Ik probeerde dit bestand met een lange naam opnieuw te verwijderen en zag dezelfde fout die ik hierboven noemde. Ik heb geprobeerd de naam te wijzigen, maar dat werkt ook niet. Nou, ik moest nadenken over hoe ik het probleem kon oplossen.

Hoe het probleem van het verwijderen van een map/bestand met een lange padnaam op te lossen!

Ik heb op twee manieren geprobeerd een map/bestand met een lange naam in het pad ernaartoe te verwijderen. Beiden zijn technisch niet moeilijk (vooral de 1e), dus ik denk dat een beginner het wel aankan als hij alles precies doet zoals ik laat zien:

    Hernoem meerdere mappen in het bestandspad naar een kortere naam. Dit is de eenvoudigste oplossing die velen al zou moeten helpen! Stel dat u een bestand in een map hebt met een zeer lange naam dat u niet kunt verwijderen, openen, kopiëren en waar u over het algemeen ook niet mee kunt werken.

    Probeer vervolgens eenvoudigweg de map die het bestand bevat te hernoemen met een lange naam, bijvoorbeeld “1”. Laat ik terugkeren naar een van de bovenstaande voorbeelden. Hier is een map met een lange naam:

    Met behulp van standaard Windows Verkenner hernoem ik de naam van die map naar “1” en zo ziet het pad naar het bestand er nu uit:

    Nu kunt u veilig met het bestand werken; het systeem biedt u de mogelijkheid het te openen, te hernoemen en te verwijderen.

    Als u een lange mappenboom heeft, d.w.z. net als een nestpop, in de ene map is er nog een, daarin zit er nog een, dan nog een, en begin dan met het hernoemen vanaf de allereerste map van deze nestpop. Niet met de laatste op de lijst, maar met de eerste!

    Het kan zijn dat er een groot aantal mappen is en dat u sommige ervan niet kunt hernoemen vanwege dezelfde fout, of dat het u veel tijd kost. In dit geval stel ik de tweede methode voor.

    De methode is dat u een map, bijvoorbeeld in het midden van een gemeenschappelijke boom, kunt nemen en deze als een virtuele schijf kunt verbinden. Een virtuele schijf is iets dat ons doet denken aan een gewone lokale schijf, maar dat simpelweg aan een specifieke map is gekoppeld, bijvoorbeeld voor snelle interactie ermee.

    Laten we zeggen dat je een lang pad als dit hebt:

    D:\Video\Mijn films\Alles wat u nodig heeft om films te kijken\Programma's om films te bekijken\Hoe u MP4-films opent\Lijst met MP4-voorbeeldfilms\Lijst met programma's voor het openen van MP4\Wat u niet moet doen bij het openen van MP4-bestanden

    Laten we aannemen dat we in de allerlaatste map een soort problematisch bestand hebben waar we niet mee kunnen werken, omdat het pad ernaartoe, zoals we zien, behoorlijk lang is :)

    We kunnen een van de mappen met een lange naam in het midden van het pad nemen en verbinden als een virtuele schijf. Laat dit de map "Programma's voor het bekijken van films" zijn.

    Om een ​​virtuele schijf aan te sluiten, hebben we de zogenaamde Windows-opdrachtregel nodig, d.w.z. troosten.

    U kunt het openen via Windows Search. Typ in de zoekopdracht “Opdrachtregel”:

    In het opdrachtregelvenster moeten we de opdracht typen:

    subst virtuele_schijf_letter "pad_naar_map"

    U kunt elke stationsletter instellen, zolang deze niet al in gebruik is door een van de lokale stations. Je hebt bijvoorbeeld een lokale schijf C en D, waardoor je de virtuele schijf met dezelfde letter niet meer kunt aanroepen. Je kunt het bijvoorbeeld de letter “X” noemen, omdat deze in Windows zelden wordt gebruikt.

    Voor het mappad voegt u het pad in naar de map die u virtueel wilt verbinden. Zoals ik al zei, maken we in mijn voorbeeld 'Programma's voor het bekijken van films' als een virtuele map, wat betekent dat het pad als volgt moet worden gespecificeerd:

    D:\Video\Mijn films\Alles wat je nodig hebt om films te kijken\Programma's om films te kijken\

    Dus het laatste commando in mijn geval zal er als volgt uitzien:

    subst X: “D:\Video\Mijn films\Alles wat je nodig hebt om films te kijken\Programma's om films te kijken\”

    Om de ingevoerde opdracht uit te voeren, drukt u op de “Enter”-toets op het toetsenbord. De virtuele schijf wordt gemaakt.

    Laten we nu naar Windows Verkenner gaan, naar het gedeelte "Deze pc" (of "Computer") gaan en daar de gemaakte virtuele schijf bekijken:

    Je kunt het onderscheiden aan de letter. Ik heb de letter "X" aan de virtuele schijf toegewezen. Als we deze virtuele schijf nu openen, bevinden we ons onmiddellijk in de map "Programma's voor het bekijken van films". Die. we hebben de helft van het pad naar de laatste map genomen en afgesneden.

    Ter vergelijking...

    Voorheen zag het pad naar de uiteindelijke map er als volgt uit:

    D:\Video\Mijn films\Alles wat u nodig heeft om films te kijken\Programma's om films te bekijken\Hoe u MP4-films opent\Lijst met MP4-voorbeeldfilms\Lijst met programma's voor het openen van MP4\Wat u niet moet doen bij het openen van MP4-bestanden

    Nadat u de virtuele schijf hebt aangesloten op de map "Programma's voor het bekijken van films", ziet het pad naar de uiteindelijke map er als volgt uit:

    X:\Hoe MP4-films openen\Lijst met MP4-voorbeeldfilms\Lijst met programma's voor het openen van MP4\Wat u niet moet doen bij het openen van MP4-bestanden

    Voel je het verschil? Het pad wordt met de helft ingekort, omdat de stationsletter ons onmiddellijk naar de map in het midden van het pad leidt :) En aangezien het pad sterk is ingekort, heb je nu waarschijnlijk de tekenlimiet in de namen van bestanden en mappen verwijderd en zal een bestand of map met een lange naam kunnen verwijderen!

    Nadat u het probleem met het bestand heeft opgelost, kan de virtuele schijf weer worden verwijderd, zodat deze geen doorn in het oog wordt in Explorer.

    Open hiervoor opnieuw de Windows-opdrachtregel en voer de opdracht in:

    Subst virtuele_schijf_letter /d

    In mijn geval is de stationsletter “X”, dus de opdracht ziet er als volgt uit:

Toen ik nadacht over opties om het probleem op te lossen, hoe ik een map of bestand met een lange naam kon verwijderen, vond ik een andere optie op internet: verwijder het problematische bestand via het Total Commander-programma. Ik heb het geprobeerd, het werkte niet, daarom heb ik deze methode niet aanbevolen :)) En de methode, zelfs als het voor iemand zou werken, is eerlijk gezegd niet leuk, omdat je een extra programma op je moet installeren computer om slechts één bestand of mappen met een lange naam te verwijderen...

Ik denk dat als zich een soortgelijk probleem voordoet, dat ik meer dan eens heb gehad, een van de hierboven beschreven methoden je zeker zal helpen.

Dat is alles! Tot snel in de volgende artikelen;)

De titel bleek lang, maar geeft de essentie weer van het probleem dat hier zal worden beschreven. Onlangs kwam ik een niet erg goede situatie tegen. Terwijl ik de harde schijf sorteerde en overbodige zaken opruimde, ontdekte ik dat een van de bestanden niet was verwijderd, maar de volgende foutmelding verscheen: “Het bestandssysteem ondersteunt zulke lange bronbestandsnamen niet. Probeer het bestand naar een map met een kortere padlengte te verplaatsen of geef een kortere bestandsnaam op en probeer het opnieuw."

Ik kon niet alleen het bestand niet verwijderen, maar ik kon ook de naam niet veranderen in een kortere naam. Voor velen lijkt dit een doodlopende weg, omdat blijkt dat het bestand niet is verwijderd.

In feite kan het probleem heel eenvoudig en snel worden opgelost, en nu zal ik twee methoden beschrijven om het op te lossen, en het is aan jou om te beslissen welke je wilt gebruiken.

Wat te doen als het pad naar de bron te lang is, hoe verwijder ik zo'n bestand?

Als u een bestand heeft dat niet wordt verwijderd vanwege een lange naam, zijn er verschillende opties om het probleem op te lossen. Als een bestand bijvoorbeeld in verschillende mappen is genest, bijvoorbeeld vijf of zelfs tien mappen met namen van 10-20 tekens, kan dit de reden zijn dat het bestand niet wordt verwijderd. Feit is dat Windows geen bestanden ondersteunt waarvan de naam langer is dan 260 tekens. Als deze limiet wordt overschreden, verschijnt de fout die ik hierboven heb laten zien. Het aantal mappen met hun eigen naam en de bestandsnaam zelf mogen in totaal minder dan 260 tekens bevatten. Het systeem heeft ook één functie: als deze limiet wordt overschreden, kunnen we nog steeds de naam van mappen wijzigen. Dit betekent dat u alle mappen moet hernoemen naar een korte naam, bijvoorbeeld een letter of cijfer.


Dit probleem kan niet alleen ontstaan ​​omdat je zo'n lange naam hebt opgegeven. Dit overkwam mij toen ik besloot websitebestanden van de server te downloaden en iets te doen. Omdat de bestanden niet langer nodig waren, heb ik de hele map met de sitebestanden verwijderd, maar het bleek dat deze een bestand bevatte met een zeer lange naam, plus mapnamen, en hierdoor kon ik niet alles verwijderen.

Methode twee zal helpen als de eerste mislukt. Het is een feit dat niet alle mappen die naar een bestand met een lange naam leiden, hernoemd kunnen worden en dat dezelfde bestandssysteemfout zal optreden. Vervolgens kunt u een virtuele schijf maken met behulp van een van de submappen die naar het niet-verwijderbare bestand leiden. Nu zal ik je laten zien hoe je dit moet doen.

Open de opdrachtregel. Om dit te doen, drukt u op de Win+R-combinatie en voert u de opdracht in cmd. U kunt met de rechtermuisknop op het Start-menu klikken (of op de Win+X-toetsencombinatie) en daar Opdrachtprompt selecteren.

Nu schrijft u een opdracht die een virtuele schijf voor ons zal maken:

U moet een stationsletter selecteren die niet door anderen wordt bezet. De systeempartitie wordt meestal aangegeven als C, en de tweede partitie als D of E. Selecteer vervolgens een andere partitie.

Het pad naar de map moet vanaf de schijf worden opgegeven. Als dit moeilijk voor je is, open dan de map die als virtuele schijf zal fungeren en kopieer het pad ernaartoe in Verkenner bovenaan.

Mijn opdracht ziet er als volgt uit:

Als we naar Deze computer gaan, zou je daar een schijf moeten zien met de letter die we eraan hebben toegewezen vanaf de opdrachtregel. Het pad naar het bestand wordt dus met bijna de helft verkort, wat betekent dat de totale lengte van tekens minder dan 260 tekens kan zijn. Nu kunt u proberen het onverwijderbare te verwijderen.


Om een ​​virtuele schijf te verwijderen, moet u de opdracht invoeren:

substSchijfLetter/d

TotalCommander gebruiken

Op internet heb ik een methode ontdekt waarmee je bestanden kunt verwijderen die niet verwijderd kunnen worden met . Het nadeel hiervan is natuurlijk dat je extra software op je computer moet installeren, en niet iedereen zal dit willen doen. Hoe dan ook, ik laat deze methode hier achter voor het geval iemand deze wil gebruiken.

Download en installeer het programma. Laten we naar het tabblad gaan "Bestand" klik op de sectie "Wijzig attributen". Er verschijnt een venster waarin we de vinkjes bij alle attributen verwijderen. Als er geen vinkje naast het item bovenaan staat "Inhoud van map verwerken"- kiezen. Nu proberen we vanuit hetzelfde programma een bestand met een lange naam te verwijderen.


Wij gebruiken de 7-Zip archiver

Voor deze taak hebben we een 7-Zip archiverprogramma nodig. Klik met de rechtermuisknop op de startmap en wijs de muis naar de partitie "7-Zip" en selecteer het artikel "Toevoegen aan archief".

Er verschijnt een venster waarin u slechts één vakje hoeft aan te vinken. "Bestanden verwijderen na compressie". Klik vervolgens op OK.

Er wordt een archief van al deze dingen op het bureaublad gemaakt en mappen met lange bestanden worden eenvoudigweg verwijderd. U kunt het archief zelf zonder problemen verwijderen.

Dit zijn de manieren waarop we hebben gekeken om de fout te herstellen die het bestand niet verwijdert. Misschien heb je andere opties om dit te doen?

Voorkomt het schadelijke Windows-besturingssysteem dat u een bestand verwijdert en roept het dat het “bronpad te lang is”? In dit artikel zal ik je vertellen hoe je deze plaag eenvoudig en eenvoudig, zonder programma's, kunt verslaan door de bestandsnaam in te korten.

Het pad naar de bron is te lang - waarom?

Ik wil graag meteen uitleggen waarom zo’n systeemwaarschuwing verschijnt en het niet mogelijk is om basiskopieer- of verwijderacties uit te voeren op een bestand (map)…

De melding zelf bevat het antwoord op deze vraag: het Windows-bestandssysteem ondersteunt geen bronbestandsnamen die langer zijn dan 255 tekens (begrijpt deze niet).

Maar uw bestands- of mapnaam is kort, bijvoorbeeld ‘Vakantiefoto’s’? Feit is dat het “domme” systeem het hele pad naar het bestand als zijn naam beschouwt. Als uw bestand of map zich ergens te diep in Bestandsbeheer bevindt, zal de naam er ongeveer zo uitzien...

Zo worden de naamsymbolen verzameld in een bende van ruim 255 stuks.

Hoe verwijder ik in dit geval een niet-verwijderbaar bestand of map? Het is heel eenvoudig: u moet de bestandsnaam (pad) inkorten door de naam van geneste mappen te hernoemen.

Hoe een bestand met een lange naam te verwijderen

Ik zal je met mijn voorbeeld laten zien hoe je een bestand met een lange naam verwijdert dat, zoals het systeem schrijft, een te lang pad naar de bron heeft.

Gisteren besloot ik maak uw computer schoon van oude back-upkopieën van de site, maar ze wilden niet worden verwijderd. Zoals je al geraden had, verscheen er een waarschuwing dat het pad naar de bron te lang was...

Vanaf de allereerste map in dit lange pad heb ik verschillende dingen hernoemd...

...en probeerde opnieuw het bestand met een nu kortere naam te verwijderen - het ging veilig naar het land van de verwijderde bestanden.

Uiteraard moet de nieuwe bestands- (map)naam uit één teken of cijfer bestaan, zoals in mijn voorbeeld.

Op deze manier wordt het probleem van het verwijderen van bestanden of mappen met een lange naam eenvoudig opgelost. Dit is uiteraard niet de enige methode. Kan verwijderen met speciale programma's of via het register - ik heb zojuist de handmatige methode laten zien. Voor sommigen duurt het slechts een minuut, voor anderen duurt het een half uur. Het is aan jou om te beslissen hoe je de bestandsnaam en het te lange pad naar de bron inkort.

Tot nieuwe handige tips en interessante computerprogramma's.

Bij een van de projecten kreeg ik de kans om de module voor Drupal - clientside validatie te gebruiken. En het is niet zo dat de module slecht is; integendeel, hij voert zijn functionaliteit volledig uit, namelijk dat hij het formulier aan de clientzijde controleert. Maar de modulebestanden hebben nogal lange namen, en vanwege een van deze bestanden werkte onze git niet meer goed. Omdat ik geen informatie meer naar deze map kon schrijven vanwege de volgende fout:

Kan bestand/map niet kopiëren. Naam van doelbestand/bestemmingspad te lang

Of ook, maar dan in het Engels:

De bestandsnaam(-namen) zouden te lang zijn voor de doelmap. U kunt de bestandsnaam inkorten en het opnieuw proberen, of een locatie proberen met een korter pad.

Na wat onderzoek te hebben gedaan, bleek dat de maximale padlengte die door Windows 7 wordt ondersteund 260 tekens bedraagt. En aangezien alle projecten in mijn map worden opgeslagen C:\Gebruikers\\Documenten\xampp\htdocs\git\- toen liepen alle projecten potentieel gevaar.

Oplossingsopties

Ik zag 2 mogelijke oplossingen:

1. Verplaats xampp naar de kop van de schijf

2. Maak een alias voor dit pad (bijvoorbeeld een station met de naam H)

De tweede optie leek eenvoudiger, omdat voor xampp de paden niet zullen veranderen, maar met git zullen we toegang krijgen tot de mappen via de aangemaakte alias. Om de IDE correct te laten werken, moet je het pad van de projecten veranderen.

En dus, zodat Windows de schijfnaam kan vervangen in plaats van uw lange pad, voert u de opdracht uit via cmd:

Subst H: C:\Users\\Documenten\xampp\htdocs\git\