

Výpis adresáře z MP3 přehrávače
Chci udělat pořádek ve starém MP3 přehrávači co mám po synech. V počítači LENOVO s W10 se mi adresář zobrazuje celkem solidně. Když jsem zkusil z adresáře udělat textový soubor v počítači, použil jsem na to příkazový řádek, některé znaky, hlavně české se zkomolily.
V příloze je vzorek, nahoře jak to vypadá v adresáři, dole jak to vypadá v textovém souboru (tam je to celkem solidní, dalo by se to opravit ručně, jinde ji to horší).
Chci se zeptat, zda se to dá stáhnout nějak rozumně abych to nemusel řádek znak po znaku upravovat. Textový soubor chci použít abych věděl co tam všechno mám, co tam nechat a co smazat.
Ano,
cmd kurví české znaky s diakritikou...
spusti si powershell a tam si to vypíš:
dir > mp3.txt
diakritika tu už bude správne.
Většina těchto problémů vzniká z bordelu, který MalýMěkký dopustil několika variantami kódování českých textů. Nebudu se probírat celou historií, ale ve Windows se v češtině nyní používá standardně kódování 1250, ale dříve bylo obvyklé 852 (slovním označením se nebudu obtěžovat - v případě zájmu lze snadno vyhledat). Když se text v jednom kódování zobrazí v textovém (či jiném) editoru, který očekává to druhé, tak vznikají popisované potíže.
Je tedy potřeba sjednotit kódování skutečných názvů souborů s kódováním 1250, které by mělo být ve vašem počítači. Já to řeším tak, že prostě v názvech souborů ruším diakritiku. jak to uděat, je na každém. Já k tomu používám PSPad, ale možností je mnoho.
Defaultní kódování v cmd je Latin 2.
Když v cmd dáš chcp tak ti vyjede 852, což je Latin 2.
A ty chceš UTF-8.
Takže než budeš vytvářet výstup tak před tím v cmd zadáš:
chcp 65001
A výstup budeš mít v UTF-8 a nic zkomoleného mít nebudeš.
Děkuji oběma (kacikar i ledni brtnik).

Včera jsem si na to vzpomněl a fungovalo to.
Ale stejně je zajímavé, že ve W10 neexistuje nějaký jednoduchý příkaz, něco jako "ulož seznam souborů v adresáři do textového souboru tak jak je to na obrazovce" a musí se to mordovat přes příkazový řádek (podobný postup jsem někde okomentoval jako "chytnout se levou rukou za pravé ucho a zakokrhat").
Tedy možná něco existuje, ale já jsem ho nenašel a když jsem se na to ptal strejdy gůgla, odkázal mne na podobný postup a když jsem v textovém souboru chtěl změnit kódovou stránku, taky nic.
Takových jednoduchých příkazů bohužel chybí spousta. Proto pokročilejší uživatelé používají nějakou "nadstavbu" (souborový manažer), v kterém to jde udělat na jedno kliknutí.
Od AI: Jde to poměrně elegantně. Přidáš jednu položku do registru a pak budeš mít po kliknutí pravým tlačítkem na složku (nebo na prázdné místo uvnitř složky) nabídku Uložit seznam souborů.
Nejjednodušší varianta vytvoří soubor seznam.txt v dané složce.
Vytvoř soubor např. Seznam_souboru.reg s tímto obsahem:
v klasickém cmd.exe by bylo nutné nejdřív přepnout kódovou stránku:
to se spouštěním v powershellu je elegantnější možnost.
ale když si udělám svého zástupce na liště ve správci souborů, který spustí tuto batku na aktuální adresář s hudbou, spustí ho zase v tom starém cmd.exe, takže s chcp:
(v tom :adr se přejmenuje _playlist_.m3u podle názvu konkrétního hudebního adresáře, já to tak chtěl, není to nutné)
Nepoužívat diakritiku v názvech souborů (stejně tak to může dělat i u tagů v souborech).
V jednom se to zobrazuje správně a v jiném zase na pikaču.
Příkazový řádek je fajn, ale rychlejší a pohodlnější by pro mě bylo udělat to v Total commanderu.