cs.phhsnews.com


cs.phhsnews.com / Proč je hlášení systému Windows o této složce příliš dlouhé na kopírování?

Proč je hlášení systému Windows o této složce příliš dlouhé na kopírování?


Pokud pracujete s Windows dostatečně dlouhou dobu, zejména se složkami a soubory s dlouhými názvy, dojde k bizarní chybě : Systém Windows hlásí, že cesta k souboru nebo název souboru je příliš dlouhá, než se přesune na nový cíl nebo dokonce odstraní. Co je to?

Hej How-To Geek!

Takže druhý den jsem reorganizoval některé soubory na svém počítači, vytvářel složky, takové věci. Pak, když jsem přemístil nějaké soubory do složky, dostanu zprávu, že výsledná cesta složky bude příliš dlouhá. Byl jsem zmatený. Vím, že každý OS od DOSu podporuje dlouhé názvy souborů, ale Windows tvrdí, že cesta je příliš dlouhá? Proč se to stalo?

Upřímně,

pan. Rozrušený

Problém, kterým narazíte, je nešťastná křižovatka dvou systémů, která v takových případech způsobuje chybu. Abychom přesně pochopili, odkud pochází chyba, musíme se ponořit do historie dlouhých názvů souborů (LFN) a jak Windows s nimi komunikuje, než se dostaneme do řešení.

Dlouhé názvy souborů byly představeny prostřednictvím základní architektury MS-DOS , v systému Windows 95. Nový systém LFN umožnil název a adresář až 255 znaků. Toto bylo vítané rozšíření předchozího systému názvů souborů, obvykle nazývaného 8.3 název souboru, protože název byl omezen na osm znaků a třímístné rozšíření, ale také známé jako Short Filename (SFN). Jak si dokážete představit, v té době se stále nacházely spousty aplikací založených na DOSu a bylo víc než pár bolesti hlavy, které se snažily dostat novější LFN a starší SFN, aby si navzájem dobře hráli. Pokud jste někdy narazili na starší disketu nebo CD-ROM s podivně zkrácenými soubory (podobně jako abcdef ~ 1.txt), tento název souboru byl odstraněn nějakou starší aplikací používající SFN z nějaké delší a nepodporované LFN (jako abcdefghijk. txt).

Máme však dlouhou cestu od poloviny devadesátých let a celá věc Long Filename je (z větší části) pevně vymačkaná. Pokud používáte verzi systému Windows za posledních 10 let, pravděpodobně se ani nepodaří narazit na konflikt délky názvu souboru, jako jsme se používali ke spuštění v DOS / Windows 95 dnech. To znamená, že se stále objevují škytavka, jak jste objevili s projektem vyčištění disku. Ale proč? Pokud systém souborů Windows Long Filename podporuje složky a názvy souborů až do 255 znaků na jednu komponentu, do jaké zdi jste narazili? Nemůžeme obviňovat systém souborů NTFS (souborový systém, který používá velká většina moderních počítačů Windows), protože systém souborů NTFS podporuje řetězování složek a názvů souborů až do celkové délky 32 767 znaků. To daleko přesahuje typickou strukturu adresářů, kterou by někdy někdo potřeboval.

Kde se všechno rozpadá, je to umělá restrikce Windows na horní straně systému LFN / NTFS: proměnná MAX_PATH. Proměnná MAX_PATH určuje, že úplná struktura adresářů v systému Windows nesmí překročit 260 celkových znaků, včetně písmena jednotky, dvojtečky, zpětného lomítka a nulové vůle na konci. Máte tedy potenciální skutečný MAX_PATH 256 znaků, např. C: your-256-character-path .

Takže co jste udělali při čištění počítače, s již dlouhou cestou (buď proto, že názvy složek byly dlouhé, názvy souborů byly dlouhé nebo oba) a když jste se pokoušeli přesunout jeden nebo více těchto adresářů do jiného adresáře s dlouhou cestou, celková délka cesty název překročil limit 260 znaků uložený proměnnou MAX_PATH.

Nyní můžete myslet "Ah-hah! Prostě změníme proměnnou MAX_PATH a vyřešíme problém! "Bohužel, není to tak jednoduché. Nejen, že proměnná MAX_PATH je v podstatě pevně zakódovaná do systému Windows, ale i když jste prošel obrovským potížím s její změnou, tak byste skončili tak, že byste to tak moc nestačili. Příliš mnoho aplikací očekává, že proměnná cesty je to, co již systém Windows již dlouho určil. Nemůžeme jen projít změnou, aniž bychom vytvořili obrovský nepořádek.

Kde tě to opustí? Nejjednodušším řešením je pouze upravit údaje o cestách. Například pokud máte tunu uložených článků, kde aplikace / rozšíření, které jste použili k jejich uložení z webu, vytvořili adresář, který byl úplným názvem článku + článku o původu, a pak samotný název souboru je úplný název článku + článku o vedení, bylo by snadné zasáhnout nebo překročit hodnotu MAX_PATH s jediným uložením. Editace těch obrovských názvů složek a článků až po rozumnější velikost je snadný způsob, jak problém vyřešit.

Pokud máte obrovský počet souborů s dlouhou cestou a nechcete je všechny upravovat (nebo pokud chcete odstranit tunu starých adresářů, které jsou pro Windows příliš dlouhé, když je omezena proměnnou MAX_PATH), je zde kolem příkazového řádku. I když je systém Windows omezen proměnnou MAX_PATH, inženýři systému Windows si uvědomili, že by existovaly situace, kdy by uživatelé museli vypořádat se s delšími názvy cest. Jako takový má rozhraní API systému Windows funkci pro práci s extrémně dlouhými cestami.

Chcete-li využít toto rozhraní API a používat nástroje příkazového řádku na vašich neprázdných složkách / názvech souborů, stačí připojit název adresáře několik dalších znaků. Například pokud byste měli obrovskou adresářovou strukturu, kterou jste chtěli smazat (ale při chybě dostali chybu vzhledem k délce cesty), můžete změnit příkaz z:

rmdir c: documents some-really -super-long-folder-name-scheme

do:

rmdir \? c: documents some-really-super-long-folder- přidání části

\? před začátkem cesty k souboru; to instruuje Windows, aby ignoroval omezení uložená proměnnou MAX_PATH a interakci s cestou, kterou jste právě dodali, dodanou / chápanou přímo systémem podkladových souborů (což může jasně podporovat delší cestu). Jako vždy buďte opatrní na příkazovém řádku, abyste se vyhnuli náhodnému smazání souborů nebo adresářů, které jste nechtěli nechat.Pokud je váš přehled tohoto problému zvědavý, rozhodně se do tohoto článku zapojte z knihovny Microsoft Developer Network, Naming Files, Cesta a místa pro jména pro více informací o tom, co se děje pod kapucí.

Máte naléhavou technickou otázku? Napište nám e-mail na adresu a budeme se snažit, abychom odpověděli.



OTT vysvětluje odesílání peněz prostřednictvím Gmailu

OTT vysvětluje odesílání peněz prostřednictvím Gmailu

Pokud jste uživatel Gmail, možná jste si při psaní nového e-mailu zaznamenali novou ikonu peněz v dolní části okna pro psaní. Když se umístíte nad ikonu, uvidíte, že k e-mailu můžete připojit peníze! Zní to opravdu dobře? Jak to vlastně funguje? Je to skutečně zdarma a potřebujete mít účet Google k obdržení peněz?V tomto článku vám vysvětlím po

(How-to)

Vše, co můžete udělat na vašem Apple hodinky bez iPhone

Vše, co můžete udělat na vašem Apple hodinky bez iPhone

Váš Apple Watch spoléhá na váš iPhone, aby dostal oznámení, zobrazoval data a dokonce i posílal zprávy a volal. Vaše Apple Watch však není bez vašeho iPhone zcela zbytečné. Zde je několik věcí, které můžete udělat na vašich hodinkách, když je telefon mimo dosah. Zobrazení textových zpráv, e-mailů a posledních volání SOUVISEJÍCÍ: Jak odpovídat na e-maily na vaší Apple Watch vaše Apple Watch není připojeno k vašemu iPhone, neobdržíte nové textové zprávy ani e-maily ani nebudete upozorněni na příchozí hovory.

(how-to)