22Aug

Зашто је извештај о Виндовсу ова мапа претерана за копирање?

click fraud protection

Ако радите са Виндовсом довољно дуго, посебно са фасциклама и датотекама са дугачким именима, појавит ћете бизарну грешку: Виндовс ће пријавити да је путања или име датотеке превише дуга за прелазак на нову дестинацију или чак и брисање.У чему је ствар?

Хеј-како Геек!

Пре неки дан сам реорганизовао неке датотеке на мом компјутеру, креирао мапе, такве ствари.Затим, када сам преселио неке датотеке у фасциклу, добила сам поруку, наводећи да ће стога доћи до трасе фолдера бити предугачак.Био сам збуњен.Знам да сваки ОС од ДОС-а подржава дугачка имена датотека, али Виндовс тврди да је пут предалеко?Зашто се то догодило?

С поштовањем,

Господин Дисорганизовани

Проблем у коме имате проблем је несретан пресек два система који у оваквим случајевима дају грешку.Да бисмо тачно схватили одакле долази до грешке, морамо ископати историју Лонг Филенамес( ЛФН) и како Виндовс интерагује с њима пре него што пређемо на рјешења.

Лонг Филенамес су уведени, кроз основну МС-ДОС архитектуру, у Виндовс 95. Нови ЛФН систем омогућио је имена датотека и именова до 255 знакова.Ово је била добродошла проширење претходног система имена датотека, обично се назива 8.3 филенамингу, јер је име било ограничено на осам знакова и три цифре екстензије, али такођер познато као Кратко Филенаме( СФН).Као што можете замислити, још увек је било много апликација заснованих на ДОС-у и било је више од неколико главобоља који су покушавали да добију нове ЛФН и легендарне СФН-ове да се играју лепо једни с другима.Ако сте икада наишли на старију дискету или ЦД-РОМ са чудно скраћеним датотекама на њему( као абцдеф ~ 1.ткт), то име датотеке је смањила употреба неке старе СФН апликације из неког вишег и неподржаног ЛФН-а( нпр. Абцдефгхијк.ткт).

instagram viewer

Ми смо далеко од средине деведесетих година прошлог вијека, а цела ствар филма Лонг Филенаме је( углавном) чврсто испражњена.Ако покрећете верзију оперативног система Виндовс из последњих 10 година, вероватно никада нисте нашли сукоб дужине филма, као што смо ми навикли у ДОС / Виндовс 95 дана.То је рекло да и даље трпимо штете, као што сте открили са пројектом чишћења диска.Али зашто?Ако Виндовс Лонг Филенаме систем подржава фасцикле и имена датотека до 255 знакова по компонентама, на који зид се налазите?Не можемо кривити НТФС( датотечни систем који већина модерних Виндовс рачунара користи), јер ће НТФС подржати ланирање фасцикли и имена датотека до укупне дужине пута од 32.767 карактера.То далеко превазилази типичну структуру директоријума која би већина корисника требала.

Где се све распада је вештачко ограничење Виндовс стацкови на врху система ЛФН / НТФС: променљива МАКС_ПАТХ.Максимална варијабла МАКС_ПАТХ одређује да комплетна структура директорија у оперативном систему Виндовс не може премашити 260 укупних знакова, укључујући слово диска, колона, бацксласх и нулл бацкласх на крају.Стога имате само потенцијалан стварни МАКС_ПАТХ од 256 знакова, нпр. Ц: \ Ваша-256-знак-путања \ .

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

Сада, можда мислите "Ах-хах!Једноставно ћемо променити варијаблу МАКС_ПАТХ и ријешити проблем! "Алас, то није тако једноставно.Не само да је МАКС_ПАТХ варијабла у суштини тврдо кодирана у Виндовс, али чак и ако сте прошли кроз огромну неспремност да је мењате, биће вам краће рушење, то не би било вредно.Превише апликација очекује да варијабила путања буде оно што је Виндовс дуго одредио.Не можемо само да промјенимо то без стварања огромног нереда.

Где те то оставља?Па, најједноставније решење је само уређивање података о путањи.На пример, ако имате тона сачуваних чланака у којима је апликација / екстензија коју сте користили да их сачувате са Веба направили директоријум који је био потпуни наслов чланка + оловом чланка, а затим је само име датотеке пуни насловчланка + вођства о чланку, било би стварно једноставно погодити или премашити МАКС_ПАТХ са једним савезом.Уређивање тих огромних фасцикли и наслова чланака до разумније величине је једноставан начин за решавање проблема.

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

Да бисте искористили тај АПИ и користили алатке за командну линију на својим гомиланим именима фасцикли / датотека, једноставно морате додати име директоријума са неколико додатних знакова.На примјер, ако сте имали огромну структуру директорија коју сте желели избрисати( али сте примили грешку због дужине пута када сте је покушали), можете промијенити команду са:

рмдир ц: \ доцументс \ некако-стварно-супер-донг-фолдер-наме-сцхеме-

то:

рмдир \\? \ ц: \ доцументс \ некако-стварно-супер-дугачко-директоријум-име-шема \

Кључ је додатак \\?пре почетка датотеке датотеке;ово упућује Виндовсу да занемари ограничења која су наметнута променљивом МАКС_ПАТХ и да комуницира с путањом коју сте управо испоручили, као што је директно испоручено / подразумевано од стране система основних датотека( што јасно може подржати дужи пут).Као и увек, будите опрезни на командној линији да бисте избегли случајно брисање датотека или директорија које сте намеравали оставити нетакнуте.

Ако вам прегледамо ову проблематику, радо сте истражили овај чланак из библиотеке Мицрософт Девелопер Нетворк-а, именовања датотека, стаза и имена, за више информација о томе шта се дешава испод поклопца.

Имате ли хитно техничко питање?Пуцајте на е-маил на аск@ховтогеек.цом и учинићемо све од себе да одговоримо.