Како да решите проблем „име датотеке је предугачко“ у оперативном систему Виндовс

Ако сте икада видели овај проблем, вероватно је то било једноставно решење за вас. Ако сте видели ову грешку више од два пута, онда такође знате да понекад може бити сложен проблем за поправку.

Надајмо се да ћете наићи само на разне врсте лаких поправки, али ми ћемо вас припремити и за мање лаке исправке које гарантовано делују.

Зашто је дужина имена датотеке чак и проблем у Виндовс-у?(Why Is Filename Length Even An Issue In Windows?)

Дуга је историја да дужина имена датотека представља проблем за оперативне системе као што је Виндовс(Windows) . Било је времена када нисте могли имати називе фајлова дужи од 8 знакова плус екстензију датотеке од 3 знака. Најбоље што сте могли да урадите је нешто попут миресуме.доц(myresume.doc) . Ово је било ограничење постављено дизајном система датотека.

Ствари су постале боље како су изашле нове верзије Виндовс -а. (Windows)Прешли смо са старог, ограниченог система датотека на нешто што се зове систем датотека нове технологије(New Technology File System) ( НТФС(NTFS) ). НТФС(NTFS) нас је одвео до тачке у којој би име датотеке могло бити дугачко 255 знакова, а дужина путање датотеке потенцијално би могла ићи до 32.767 знакова. Па како можемо да имамо предугачка имена датотека?

Виндовс(Windows) има ствари познате као системске променљиве. То су променљиве на које се Виндовс(Windows) ослања да би функционисао, јер ће Виндовс(Windows) увек знати шта променљиве значе и где се налазе, чак и када померамо битове и бајтове свуда. Системска променљива МАКС_ПАТХ(MAX_PATH) је она која ограничава називе датотека и путање датотека на мање од 260 знакова.

Будући да је променљива, помислили бисте да можемо да је променимо. Не, не би требало. То би било као извлачење конца из џемпера. Чим се једна системска променљива промени, друге системске променљиве и компоненте зависне од њих почињу да се расплићу.

Како да то поправимо онда?

Лако решење(The Easy Fix)

Ако будете имали среће, добићете грешку и тачно ћете знати које име датотеке узрокује проблем. Или бар где да пронађем датотеку. Можда имате име датотеке које изгледа отприлике:

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

Очигледно је ко је починилац у овом случају. Пронађите датотеку у Виндовс Екплорер(Windows Explorer) - у или Филе Екплорер(File Explorer) -у како се зове у Виндовс-у 10(Windows 10) , кликните једном на њу, притисните Ф2(F2) да бисте је преименовали и промените тај глупи назив датотеке у нешто разумније. Проблем(Problem) решен.

Мање лака поправка(The Less Easy Fixes)

Није увек тако лако решити овај проблем. Понекад можда нећете моћи да промените имена датотека или директоријума из било ког разлога.

Следећа решења ће вам помоћи. Није их тешко урадити.

Преместите(Move) , избришите(Delete) или копирајте датотеке или директоријуме користећи ПоверСхелл(Or Copy Files Or Directories Using PowerShell)

Понекад добијете грешку када покушавате да преместите, избришете или копирате директоријуме у којима је број знакова за путању датотеке већи од 260.

Имајте на уму да су речи директоријум и фасцикла заменљиве. Убудуће ћемо користити 'директориј'. Следеће ПоверСхелл(PowerShell) цмдлете се такође могу користити за датотеке.

Можда путања датотеке изгледа отприлике овако:

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

Та путања датотеке је дуга 280 знакова. Дакле, не можемо копирати директоријум одатле на неко друго место уобичајеним методом копирања и лепљења. Добијамо грешку Предугачка путања одредишта(Destination Path Too Long) .

Претпоставимо да из било ког разлога не можемо преименовати директоријуме у којима је датотека угнежђена. Шта да радимо?

Отворите ПоверСхелл(Open PowerShell) . Ако још увек нисте користили ПоверСхелл(PowerShell) , уживајте у нашем чланку Коришћење ПоверСхелл-а за кућне кориснике – Водич за почетнике(Using PowerShell for Home Users – A Beginner’s Guide) . Међутим, можете урадити следеће кораке без читања чланка.

Када се ПоверСхелл(PowerShell) отвори, бићете у корену вашег корисничког директоријума. Пратите(Follow) даље под претпоставком да је C:\Users\guymc ваш кориснички директориј.

Директоријум под називом Ово(This) је унутар директоријума Документи(Documents) . Да бисмо прешли у директоријум Документи(Documents) , користимо ДОС(DOS) команду цд Доцументс(cd Documents)

Видећете промптну промену у C:\Users\guymc\Documents . То је добро. Радимо ближе директоријумима што ће олакшати ствари.

Копирај директоријум користећи Цопи-Итем

Желимо да копирамо директоријум Тхис(This) и његов садржај у ТхатНевФолдер(ThatNewFolder) . Хајде да користимо ПоверСхелл цмдлет Цопи-Итем(Copy-Item) са параметрима -Дестинатион(-Destination) и -Рецурсе(-Recurse) .

-Одредиште говори ПоверСхелл(PowerShell) -у где желимо да буде копија. -Рецурсе говори ПоверСхелл- у(PowerShell) да копира све ставке унутра на одредиште. Копирање оставља оригинале тамо где су и прави све нове на одредишту.

Copy-Item This -Destination ThatNewFolder -Recurse

Преместите директоријум помоћу Мове-Итем

Рецимо да желимо да преместимо директоријум Тхис, и све директоријуме и датотеке у њему, у ТхатНевФолдер(ThatNewFolder) . Премештање не оставља оригинал на месту.

Можемо користити ПоверСхелл цмдлет Мове-Итем(Move-Item) са параметрима -Патх(-Path) и -Дестинатион(-Destination) . -Путања дефинише ставку коју желимо да преместимо и -Одредиште(-Destination) говори ПоверСхелл(PowerShell) - у где то желимо. 

цмдлет ће ово ставити у ТхатНевФолдер(ThatNewFolder) . Такође ће померити све што се налази унутар овог директоријума. Мове-Итем се може користити за премештање датотека или директоријума и ради без обзира на путању или дужину имена датотеке.

Move-Item -Path This -Destination ThatNewFolder

Да бисте били сигурни да ради, користите команду цд ТхатНевФолдер(cd ThatNewFolder) да бисте ушли у ТхатНевФолдер(ThatNewFolder) . Затим користите команду дир(dir) да бисте навели директоријуме у ТхатНевФолдер(ThatNewFolder) . Видећете да је овај директоријум тамо.

Избришите директоријум користећи Ремове-Итем

Ако желимо да избришемо овај(This ) директоријум и све у њему, користимо цмдлет Ремове-Итем .(Remove-Item)

цмдлет Ремове-Итем(Remove-Item) има уграђену сигурност која отежава брисање директоријума са стварима у њему. У нашем примеру знамо да желимо да избришемо све, па ћемо користити параметре -Рецурсе(-Recurse) да избришемо све унутра и -Форце(-Force) да то учинимо без питања да ли смо сигурни за сваку ставку унутра.

Бити упозорени! Опоравак свега што је обрисано на овај начин било би изузетно тешко. Можете испробати методе у Како опоравити случајно избрисане датотеке , али не очекујте много.

Remove-Item This -Recurse -Force

Можете поново користити команду дир да бисте били сигурни да је нестала.

Нека Виндовс 10 прихвата дуге путање датотека(Make Windows 10 Accept Long File Paths)

Ако знате да ћете више пута користити дуге путање датотека и дуга имена датотека, лакше је учинити да Виндовс(Windows) ради за вас. Нема смисла користити ПоверСхелл(PowerShell) за сваки дан.

Постоје два начина да то урадимо. Један је за кориснике оперативног система Виндовс 10 (Windows 10) Хоме(Home) , а други за кориснике оперативног система Виндовс 10 (Windows 10) Про(Pro) или Ентерприсе(Enterprise) . Ове методе могу функционисати за Виндовс 8.1(Windows 8.1) или старије, али то не можемо да гарантујемо.

Нека(Make) Виндовс 10 Хоме прихвата дуге путање датотека(Home Accept Long File Paths)

Да би Виндовс 10 (Windows 10) Хоме(Home) прихватио дугачке путање датотека, морамо да отворимо уређивач регистра(Registry Editor) . Ако раније нисте радили у уређивачу регистра(Registry Editor) , будите опрезни. Случајно брисање или промена ствари овде може зауставити Виндовс(Windows) да ради у потпуности.

Увек направите резервну копију свог регистра пре него што извршите било какве промене. Сазнајте све што треба да знате о томе у нашем Ултимате Гуиде то Бацкуп анд Ресторинг тхе Виндовс Регистри( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Када отворите уређивач(Editor) регистра и направите резервну копију, идите до локације HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem и пронађите кључ ЛонгПатхсЕнаблед(LongPathsEnabled) .

Двапут кликните на ЛонгПатхсЕнаблед(LongPathsEnabled) . У пољу Подаци о вредности:(Value data:) проверите да ли је број 1 унутра. Кликните на ОК(OK) да бисте извршили промену.

Изађите из уређивача регистра(Registry Editor) и сада бисте требали моћи да радите са лудо дугим путањама датотека.

Нека(Make) Виндовс 10 Про или Ентерприсе прихвата дуге путање датотека(Pro Or Enterprise Accept Long File Paths)

Да бисмо омогућили Виндовс 10 (Windows 10) Про(Pro) или Ентерприсе(Enterprise) да користе дугачке путање датотека, користићемо уређивач смерница групе(Group Policy Editor) . То је алатка која нам омогућава да поставимо смернице о томе како Виндовс функционише на нивоу рачунара и корисника.

Имамо неколико чланака о коришћењу групних смерница за обављање ствари као што су онемогућавање или омогућавање опција Интернет Екплорер( disabling or enabling Internet Explorer options) -а или додавање поруке на екран за пријаву( adding a message to the logon screen) .

Отворите уређивач смерница групе(Group Policy Editor) тако што ћете отићи у мени Старт(Start) и укуцати гпедит(gpedit) . Најбољи резултат би требало да буде Уреди групну политику(Edit group policy) . Двапут кликните на то.

Када се отвори уређивач смерница групе , идите на (Group Policy Editor)Computer Configuration > Administrative Templates > System > Filesystem . Тамо ћете видети политику Омогући Вин32 дуге путање(Enable Win32 long paths) .

Двапут кликните на њега да бисте изменили поставку политике. Промените га из Онемогућено(Disabled ) у Омогућено(Enabled) , а затим кликните на дугме У реду(OK ) да бисте извршили промену. 

Политика можда неће одмах ступити на снагу. Међутим, можете натерати да се смернице групе ажурирају( force the group policy to update) .

То је то(That’s It)

Постоје неки други начини да се заобиђе дуга имена датотека и путање датотека, али оно кроз шта смо прошли су најједноставнији и најефикаснији методи.



About the author

Ја сам веб програмер са преко 10 година искуства у раду са прегледачима Фирефок и Гоогле Доцс. Специјалиста сам за креирање једноставних, али моћних онлајн апликација, и развио сам веб-базирана решења за мала предузећа и велике организације. Моја база клијената укључује нека од највећих имена у пословању, укључујући ФедЕк, Цоца Цола и Маци'с. Моје вештине као програмера чине ме идеалним кандидатом за било који пројекат који треба да се заврши брзо и ефикасно – од развоја прилагођених веб локација до креирања робусних маркетиншких кампања путем е-поште.



Related posts