’Tiedostonimi on liian pitkä’ -ongelman korjaaminen Windowsissa

Jos olet joskus nähnyt tämän ongelman, se oli luultavasti helppo korjata sinulle. Jos olet nähnyt tämän virheen useammin kuin kahdesti, tiedät myös, että se voi joskus olla monimutkainen ongelma korjata.

Toivotaan, että törmäät vain helppoihin korjauksiin, mutta valmistaudumme myös vähemmän helppoihin, taatusti toimiviin korjauksiin.

Miksi tiedostonimen pituus on edes ongelma Windowsissa?

On olemassa pitkä historia siitä, että tiedostonimien pituudet ovat ongelma Windowsin kaltaisissa käyttöjärjestelmissä. Aikoinaan oli aika, jolloin tiedostonimet eivät saaneet olla pidempiä kuin 8 merkkiä plus 3-merkkinen tiedostopääte. Paras mahdollinen nimi oli esimerkiksi myresume.doc. Tämä oli tiedostojärjestelmän suunnittelusta johtuva rajoitus.

Tilanne parani, kun Windowsista tuli uusia versioita. Siirryimme vanhasta, rajoitetusta tiedostojärjestelmästä johonkin nimeltä New Technology File System (NTFS). NTFS vei meidät pisteeseen, jossa tiedostonimi saattoi olla 255 merkkiä pitkä ja tiedostopolun pituus saattoi olla jopa 32 767 merkkiä. Miten meillä voi siis olla liian pitkiä tiedostonimiä?

Windowsissa on asioita, joita kutsutaan järjestelmämuuttujiksi. Nämä ovat muuttujia, joiden toimintaan Windows luottaa, koska Windows tietää aina, mitä muuttujat tarkoittavat ja missä ne ovat, vaikka siirtelisimme bittejä ja tavuja ympäriinsä. Järjestelmämuuttuja MAX_PATH on se, joka rajoittaa tiedostonimet ja tiedostopolut alle 260 merkkiin.

Muuttujana luulisi, että voisimme muuttaa sitä. Ei, meidän ei pitäisi. Se olisi kuin vetäisi langan pois villapaidasta. Heti kun yksi järjestelmämuuttuja muuttuu, muut järjestelmämuuttujat ja niistä riippuvaiset komponentit alkavat purkautua.

Miten se sitten korjataan?

Helppo korjaus

Jos olet onnekas, saat virheen näkyviin ja tiedät tarkalleen, minkä tiedoston nimi aiheuttaa ongelman. Tai ainakin mistä tiedosto löytyy. Ehkä tiedostonimesi näyttää jotakuinkin seuraavalta:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Tässä tapauksessa on selvää, kuka on virheen aiheuttaja. Etsi tiedosto Windows Explorerista tai File Explorerista, kuten sitä kutsutaan Windows 10:ssä, napsauta sitä kerran, paina F2-näppäintä nimetäksesi sen uudelleen ja vaihda tuo typerä tiedostonimi johonkin järkevämpään. Ongelma on ratkaistu.

Niin helppoja korjauksia

Tämän ongelman korjaaminen ei ole aina niin helppoa. Joskus et voi jostain syystä muuttaa tiedostojen tai hakemistojen nimiä.

Seuraavat ratkaisut auttavat sinua. Ne eivät ole vaikeita tehdä.

Tiedostojen tai hakemistojen siirtäminen, poistaminen tai kopioiminen PowerShellin avulla

Joskus saat virheen, kun yrität siirtää, poistaa tai kopioida hakemistoja, joissa tiedostopolun merkkimäärä on yli 260 merkkiä.

Huomaa, että sanat hakemisto ja kansio ovat vaihdettavissa keskenään. Käytämme jatkossa sanaa hakemisto. Seuraavia PowerShell-komentoja voidaan käyttää myös tiedostoihin.

Ehkä tiedostopolku näyttää seuraavalta:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Tämä tiedostopolku on 280 merkkiä pitkä. Emme siis voi kopioida hakemistoa sieltä jonnekin muualle normaalilla copy-paste-menetelmällä. Saamme Destination Path Too Long -virheen.

Oletetaan, että jostain syystä emme voi nimetä uudelleen hakemistoja, joihin tiedosto on sijoitettu. Mitä teemme?

Avaa PowerShell. Jos et ole vielä käyttänyt PowerShelliä, tutustu artikkeliin PowerShellin käyttö kotikäyttäjille – Aloittelijan opas. Voit kuitenkin tehdä seuraavat vaiheet lukematta artikkelia.

Kun PowerShell avautuu, olet käyttäjähakemistosi juuressa. Seuraa ohjeita olettaen, että C:\Users\guymc on käyttäjähakemistosi.

Hakemisto nimeltä This on Documents-hakemiston sisällä. Siirtyäksemme Documents-hakemistoon käytämme DOS-komentoa cd Documents.

Kehote muuttuu muotoon C:\Users\guymc\Documents. Se on hyvä. Työskentelemme lähempänä hakemistoja, mikä helpottaa asioita.

Kopioi hakemisto käyttäen Copy-Item

Haluamme kopioida hakemiston This ja sen sisällön ThatNewFolderiin. Käytetään PowerShell-komentoa Copy-Item parametreilla -Destination ja -Recurse.

-Destination kertoo PowerShellille, mihin haluamme kopioida. -Recurse kertoo PowerShellille, että se kopioi kaikki sisällä olevat kohteet määränpäähän. Kopiointi jättää alkuperäiset sinne, missä ne ovat, ja tekee kaikki uudet kohteeseen.

Copy-Item This -Destination ThatNewFolder -Recurse

Hakemiston siirtäminen Move-Item-käytöllä

Esitellään, että halutaan siirtää hakemisto This ja kaikki sen sisältämät hakemistot ja tiedostot ThatNewFolderiin. Siirtäminen ei jätä alkuperäistä paikalleen.

Voidaan käyttää PowerShellin komentoa Move-Item parametreilla -Path ja -Destination. -Path määrittelee siirrettävän kohteen ja -Destination kertoo PowerShellille, minne haluamme sen siirtää.

Cmdlet siirtää This:n ThatNewFolderin sisälle. Se siirtää myös kaiken, mikä on This-hakemiston sisällä. Move-Item -komennolla voidaan siirtää tiedostoja tai hakemistoja, ja se toimii tiedostopolusta tai tiedostonimen pituudesta riippumatta.

Move-Item -Path This -Destination ThatNewFolder

Varmistaaksesi, että komento onnistui, pääset ThatNewFolderiin komennolla cd ThatNewFolder. Käytä sitten komentoa dir luetellaksesi ThatNewFolderissa olevat hakemistot. Näet, että This-hakemisto on siellä.

Delete Directory Using Remove-Item

Jos haluamme poistaa This-hakemiston ja kaiken siinä olevan, käytämme komentoa Remove-Item.

Poisto-Item-cmdletillä on joitakin sisäänrakennettuja turvatoimia, jotka vaikeuttavat sellaisen hakemiston poistamista, jonka sisällä on asioita. Esimerkissämme tiedämme, että haluamme poistaa kaiken, joten käytämme parametreja -Recurse saadaksemme sen poistamaan kaiken sisällä olevan ja -Force saadaksemme sen tekemään sen kysymättä meiltä, olemmeko varmoja jokaisesta sisällä olevasta kohteesta.

Ole varoitettu! Kaiken tällä tavalla poistetun palauttaminen olisi äärimmäisen vaikeaa. Voit kokeilla menetelmiä, jotka löytyvät kohdasta How to Recover Accidentally Deleted Files (Kuinka palauttaa vahingossa poistetut tiedostot), mutta älä odota paljoa.

Remove-Item This -Recurse -Force

Voit käyttää dir-komentoa uudestaan varmistaaksesi, että se on poissa.

Pane Windows 10 hyväksymään pitkät tiedostopolut

Jos tiedät, että tulet käyttämään pitkiä tiedostopolkuja ja pitkiä tiedostonimiä toistuvasti, on helpompi saada Windows työskentelemään puolestasi. Ei ole järkeä käyttää PowerShelliä tekemään työtä joka päivä.

Tämä voidaan tehdä kahdella tavalla. Toinen on Windows 10 Home -käyttäjille ja toinen Windows 10 Pro- tai Enterprise-käyttäjille. Nämä menetelmät saattavat toimia Windows 8.1:ssä tai sitä aikaisemmissa versioissa, mutta emme voi taata sitä.

Make Windows 10 Home Accept Long File Paths

Voidaksemme saada Windows 10 Home:n hyväksymään pitkät tiedostopolut, meidän on avattava rekisterieditori. Jos et ole ennen työskennellyt rekisterieditorissa, ole varovainen. Asioiden vahingossa tapahtuva poistaminen tai muuttaminen täällä voi estää Windowsin toiminnan kokonaan.

Tee aina varmuuskopio rekisteristäsi ennen muutosten tekemistä. Tutustu kaikkeen, mitä sinun on tiedettävä siitä Perimmäisessä oppaassamme Windowsin rekisterin varmuuskopiointiin ja palauttamiseen.

Kun rekisterieditori on avattu ja varmuuskopio tehty, siirry sijaintiin HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem ja etsi avain LongPathsEnabled.

Kaksoisklikkaa kohtaa LongPathsEnabled. Varmista, että Value data: -kentässä on numero 1. Vahvista muutos napsauttamalla OK.

Poistu rekisterieditorista, ja sinun pitäisi nyt pystyä työskentelemään hullunkuristen pitkien tiedostopolkujen kanssa.

Make Windows 10 Pro Or Enterprise Accept Long File Paths

Salliaksemme Windows 10 Pro:n tai Enterprisen käyttää pitkiä tiedostopolkuja käytämme ryhmäkäytäntöeditoria. Se on työkalu, jonka avulla voimme asettaa käytäntöjä sille, miten Windows toimii tietokone- ja käyttäjätasolla.

Meillä on useita artikkeleita, joissa käsitellään ryhmäkäytäntöjen käyttöä esimerkiksi Internet Explorerin asetusten poistamiseen käytöstä tai käyttöön ottamiseen tai viestin lisäämiseen kirjautumisnäyttöön.

Avaa ryhmäkäytäntöeditori menemällä Käynnistä-valikkoon ja kirjoittamalla gpedit. Ylimmän tuloksen pitäisi olla Muokkaa ryhmäkäytäntöä. Kaksoisnapsauta sitä.

Kun ryhmäkäytäntöeditori avautuu, siirry kohtaan Tietokoneen kokoonpano > Hallinnolliset mallit > Järjestelmä > Tiedostojärjestelmä. Siellä näet käytäntö Enable Win32 long paths.

Muokkaa käytäntöasetusta kaksoisnapsauttamalla sitä. Muuta se Disabled (Ei käytössä) -asetuksesta Enabled (Käytössä) -asetukseksi ja vahvista muutos napsauttamalla OK-painiketta.

Käytäntö ei ehkä tule voimaan heti. Voit kuitenkin pakottaa ryhmäkäytännön päivittymään.

Se siitä

Pitkien tiedostonimien ja tiedostopolkujen kiertämiseen on muitakin tapoja, mutta tässä läpi käymämme ovat yksinkertaisimmat ja tehokkaimmat menetelmät.

Vastaa

Sähköpostiosoitettasi ei julkaista.