Ani tenhle název není povolený obrázek: Petr Urban / Živě.cz

Ani tenhle název není povolený | obrázek: Petr Urban / Živě.cz

Takovou složku ve Windows nevyrobíte obrázek: Petr Urban / Živě.cz

Takovou složku ve Windows nevyrobíte | obrázek: Petr Urban / Živě.cz

Pojmenovávání souborů má své další limity, ale to je jiný příběh obrázek: Petr Urban / Živě.cz

Pojmenovávání souborů má své další limity, ale to je jiný příběh | obrázek: Petr Urban / Živě.cz

Určité názvy jsou zakázané obrázek: Petr Urban / Živě.cz

Určité názvy jsou zakázané | obrázek: Petr Urban / Živě.cz

V Desítkách ani soubor v příponou takto nepojmenujete obrázek: Petr Urban / Živě.cz

V Desítkách ani soubor v příponou takto nepojmenujete | obrázek: Petr Urban / Živě.cz

V Jedenáctkách už soubory se zakázanými názvy vytvoříte, Microsoft to ale nedoporučuje obrázek: Petr Urban / Živě.cz

V Jedenáctkách už soubory se zakázanými názvy vytvoříte, Microsoft to ale nedoporučuje | obrázek: Petr Urban / Živě.cz

Takovou složku ve Windows nevyrobíte obrázek: Petr Urban / Živě.cz
Pojmenovávání souborů má své další limity, ale to je jiný příběh obrázek: Petr Urban / Živě.cz
Určité názvy jsou zakázané obrázek: Petr Urban / Živě.cz
V Desítkách ani soubor v příponou takto nepojmenujete obrázek: Petr Urban / Živě.cz
6
Fotogalerie

Zakázané názvy. Tyhle složky ve Windows nevytvoříte a mohou za to 70. léta

  • Složky ve Windows si nepojmenujete libovolně.
  • Seznam rezervovaných názvů existuje kvůli kompatibilitě.
  • Kořeny této záležitosti sahají až do 70. let.

Pravidelně narážíme na to, že i dnešní Windows jsou produktem, jehož základy byly položeny před několika desítkami let. To má výhody i nevýhody. Znakem rodiny je dlouhodobá kompatibilita. Roky vývoje Windows pochopitelně nezapřou. Narazíte v nich na prastaré dialogy a jiné části dávno nepoužívaného designu.

Dědictví poznáte občas také v chování Windows. Dokonce i Jedenáctky vás stále omezují v tom, jak můžete pojmenovávat složky nebo jiné soubory – složka je z pohledu systému jen zvláštní typ souboru.

Microsoft poskytuje seznam zakázaných názvů složek: CON, PRN, AUX, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, COM¹, COM², COM³, LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, LPT¹, LPT² a LPT³ .

Sami si můžete snadno ověřit, že vás Windows nenechají vytvořit si složku pojmenovanou např. CON. Nebo con, na velikosti písmen nezáleží.

windows zakazane nazvy slozek (6).png

Neprojde vám ani složka s názvem PRN. A tak dále.

windows zakazane nazvy slozek (5).png

Vyjmenované názvy jsou systémem rezervované. Dřívější verze Windows některé názvy používaly pro určitá zařízení, vlastně to tak dělal už DOS. Sériové porty třeba označoval jako COM1, COM2, COM3 atd.

Ty už sice na počítačích dlouho nenajdete, ale jde právě o zpětnou kompatibilitu, které se Windows vzdávají neochotně. Podobné je to s paralelními porty. V počítačích je dávno nahradila univerzální sériová sběrnice, tedy USB. Kdysy ovšem byly důležité a Windows je pojmenovávaly jako LPT1, LPT2 atd. K portům LPT se typicky připojovaly tiskárny.

windows zakazane nazvy slozek (4).png

Krátké názvy zařízení nás dnes nezajímají, ale v hluboké minulosti se počítače primárně ovládaly textovými pokyny. Když jste potřebovali tisknout, použili jste třeba takový povel: print C:\autoexec.bat > LPT1. Konkrétně tento příkaz by poslal pokyn k vytisknutí obsahu souboru autoexec.bat prostřednictvím tiskárny připojené k portu LPT1. Museli jste přesně označit cílové zařízení.

Aby zabránily kolizím, Windows vám ani v roce 2025 neumožní, aby vámi vytvořené složky nesly názvy jako LPT1. Všechny výše vypsané zakázané názvy složek představují určitá zařízení − a i dnes by se na ně mohl odvolat třeba nějaký skript. Pravděpodobnost je možná nízká, kompatiblitu nicméně Microsoft stále považuje za jednu z klíčových vlastností Windows.

Může za to DOS

Důvody přitom vysledujeme minimálně do roku 1974, kdy šel do kin druhý díl Kmotra. Gary Kildall vyvinul operační systém CP/M pro osmibitové procesory od Intelu. Od o pár let staršího Unixu si vypůjčil myšlenku, že všechno je soubor. Díky tomu jste třeba prostým textovým příkazem vytiskli soubor nebo zkopírovali data ze sériového portu do textového souboru.

Koncept stojí na tom, že zvláštní soubory reprezentují zařízení. Na prostých osmibitech s CP/M se nepočítalo s pevnými disky. Programy a soubory se ukládaly na osmipalcové diskety, Kildall tudíž nepočítal ani se strukturou složek. Aby bylo nakládání se zařízeními univerzální, zvláštní soubory byly přítomné všude (tj. na každé disketě).

windows zakazane nazvy slozek (3).png

Měly pevně přiřazené názvy a systém při použití názvu ignoroval případnou příponu. I to bylo podřízení univerzálnímu použití. Pokud jste textový soubor přímo vytiskli, fungovalo to bez ohledu na to, že program chtěl souboru přiřadit příponu. Např. LST znamenalo tisk, takže se v tisk proměnilo i uložení obsahu do souboru LST.TXT.

Délka názvů souborů

V éře DOSu byly názvy souborů omezeny na osm znaků plus další tři znaky pro příponu, které odděluje tečka. Dnešní Windows taková omezení nemají, stále však tento starý formát „8.3“ podporují a pro soubory s delšímy názvy vytváří aliasy, tedy krátké názvy.

Dnes je délka cesty k souboru ve Windows nastavena na 260 znaků. Název souboru se do něj musí vejít. Od Windows 10 v1607 už se z tohoto limitu můžete vyvázat. Teoretickým limitem je pak 32 767 znaků.

Pak přišel DOS, který měl nabídnout podobný uživatelský zážitek, ale na platformě x86, kde CP/M neoperoval. Převzal myšlenku zvláštních souborů se zvláštním jménem, které jednoduše řečeno reprezentují určitá zařízení. Jenže velmi rychle na scénu nastoupily pevné disky. Najednou bylo potřeba data třídit do složek a DOS se tedy musel naučit pracovat se složkami, resp. podsložkami.

Jenže lidé byli od první verze DOSu zvyklí používat zvláštní soubory pro výše popsané účely jako pro rychlý tisk obsahu souboru krátkým příkazem, který byl univerzální. Microsoft se rozhodl udržet zpětnou kompatibilitu a docílil jí tím, že byly zvláštní soubory přítomné v každé složce a s každou příponou.

windows zakazane nazvy slozek (2).png

Tohle chování přirozeně zdědily Windows, které postupně vyrostly v podhoubí DOSu. Ve snaze zachovat kompatibilitu Microsoft nepolevil ani později, takže chování zdědila také linie Windows NT, která už na DOSu nestojí. Spadají do ní také aktuální Windows 10 a 11. Z důvodu kompatibility i tyhle verze systému pořád některé názvy složek blokují.

K určitému vývoji došlo nedávno, Microsoft částečně ustoupil. Zatímco ve Windows 10 soubor s jedním z vyjmenovaných názvů (např. AUX.TXT) vytvořit nesmíte, ve Windows 11 už tohle neplatí. Firma pouze nedoporučuje, abyste takto pojmenované soubory vytvářeli, nicméně pokud chcete, AUX.TXT v Jedenáctkách vytvoříte. Zákaz se teď vztahuje pouze na složky.

windows zakazane nazvy slozek (1).png

Zdroje: Ars Technica | foone🏳️‍⚧️ / Twitter | How-To Geek | The Old New Thing | Windows App Development / Microsoft Learn

Určitě si přečtěte

Články odjinud