Osobně si moc nedovedu představit situaci, kdy potřebujete běžně asociovat v Příkazové řádce. Takže dnešní lekce bude převážně o vysvětlení asociací a jejich provádění v Příkazové řádce i Windows.
Co je to ta asociace?
Všichni to běžně používají, jen někdo o tom ještě neví. Ani nemusíte pracovat v DOSu. Dokonce si myslím, že původní DOS, kde je mu dnes konec, tuto vlastnost ani neměl, že přišla až později, s nástupem Windows. Pokud tomu tak není, opravte mne.
Jste ve Windows, máte spuštěn Tento počítač nebo Total Commander (dále jen TC) a před vámi stojí:
Všichni to znají. Dvojkliknete na soubor „data“ a spustí se Word. Jak počítač pozná, co má spustit? Je to snad podle ikony, která u souboru je uvedena? Je to snad zákon, že soubory s touto ikonou:
vždy spouštějí Word? Ne, není to tak. Ikona není důležitá pro systém, ta je důležitá jen pro uživatele. Systém se rozhoduje podle něčeho jiného. Podle něčeho, co běžně Windows před vámi skrývají. Je to přípona souboru. Příponu souboru uvidíte nejlépe a nejjednodušeji v TC nebo v DOSu při zadání příkazu „dir“.
Jinými slovy, soubor „data“ se ve skutečnosti „data“ vůbec nejmenuje. Jmenuje se data.doc. A je to právě přípona „doc“, která rozhoduje o tom, který program se spustí, když na patřičný soubor kliknete. Říkáme, že přípona .doc je asociovaná s programem Word – je s ním spojena, svázána, semknuta. Podaří-li se vám v TC změnit příponu třeba na jpg, začnou se dít podivné věci…
.txt = PSPad
Zkuste v Poznámkovém bloku vytvořit a uložit soubor – měl by mít příponu .txt (uvidíte v TC). Když na něj v TC dvojkliknete, spustí se Poznámkový blok. Ukážeme si, jak udělat, aby se spustil PSPad.
Příkazový řádek
Nejdříve zjistíme, jaký typ souboru je s příponou svázán (pomocí assoc) a pak pomocí ftype změníme příslušnost typu souboru k programu, k exe.
i:\Python\www.programujte.com\DOS>assoc .txt
.txt=tx
i:\Python\www.programujte.com\DOS>ftype tx="c:\program files\pspad\pspad.exe" "%1"
tx="c:\program files\pspad\pspad.exe" "%1"
Již nyní, dokonce bez restartu i bez zavření okna, když se přepnete do Tento počítač (TC) a dvojkliknete, spustí se PSPad a v něm se otevře patřičný soubor. Možná bych měl ještě vysvětlit, proč tam je to záhadné "%1". To právě systém nahradí za jméno souboru, takže ve skutečnosti, na konkrétním souboru, to vypadá, jako kdybyste v DOSu napsali:
"c:\program files\pspad\pspad.exe" "i:\Python\www.programujte.com\DOS\aaa.txt"
Uvozovky jsou tam proto, protože v cestě může být mezera. Návrat do původního stavu uděláme takto. U Poznámkového bloku, který se ve skutečnosti jmenuje notepad.exe, nemusíme psát úplnou cestu, protože, jako součást Windows, již leží v některé části PATH.
i:\Python\www.programujte.com\DOS>ftype tx="notepad" "%1"
tx="notepad" "%1"
Windows
Ve Windows se asociuje snad průhledněji, lehčeji: Tento počítač → Nástroje → Možnosti složky → Typy souborů → (napsat „txt“ pro rychlý přesun na patřičnou položku) → Změnit → (vyhledat PSPad) → zaškrtnout „K otevření tohoto typu souboru vždy použít vybraný program“ → OK → Zavřít. A je to.
.xyz = PSPad
Chceme-li založit své vlastní typy souborů, své vlastní přípony, a také, aby systém reagoval na dvojklik, musíme navíc použít assoc:
i:\Python\www.programujte.com\DOS>assoc .xyz=tojemoje
.xyz=tojemoje
i:\Python\www.programujte.com\DOS>ftype tojemoje="c:\program files\pspad\pspad.exe" "%1"
tojemoje="c:\program files\pspad\pspad.exe" "%1"
Úkol
Výše popsané se dá samozřejmě dělat v dávce, programu. Vaším úkolem je mi tedy odevzdat dávku (její obsah, vlastní řádky), kterou když si pustím, provede se:
- asociace existující přípony .jpg s PSPadem
- asociace e neexistující příponou .curo s Internet Explorerem ;-)