Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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.
[100727-000adresar-jpg]

Předmět Autor Datum
Ano, cmd kurví české znaky s diakritikou... spusti si powershell a tam si to vypíš: dir > mp3.txt di…
pme 09.11.2025 20:40
pme
Většina těchto problémů vzniká z bordelu, který MalýMěkký dopustil několika variantami kódování česk…
Pytlík 09.11.2025 22:12
Pytlík
Defaultní kódování v cmd je Latin 2. Když v cmd dáš chcp tak ti vyjede 852, což je Latin 2. A ty chc…
kacikac 09.11.2025 22:46
kacikac
v klasickém cmd.exe by bylo nutné nejdřív přepnout kódovou stránku: chcp 1250 dir *.mp3 /a:-d /o:n…
lední brtník 09.11.2025 23:00
lední brtník
Nepoužívat diakritiku v názvech souborů (stejně tak to může dělat i u tagů v souborech). V jednom se…
Abox 10.11.2025 04:38
Abox
Příkazový řádek je fajn, ale rychlejší a pohodlnější by pro mě bylo udělat to v Total commanderu. [… poslední
host 10.11.2025 07:18
host

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.

v klasickém cmd.exe by bylo nutné nejdřív přepnout kódovou stránku:

 chcp 1250
 dir *.mp3 /a:-d /o:n /b > _playlist_.m3u

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:

:PRIPONA
 for %%e in (mp3,flac,wma,ogg) do call :_EXT %%e
goto END
:_EXT
 set ext=%1
 dir *.%ext% /a:-d >nul
  if errorlevel 1 goto :EOF
:CZ
 chcp 1250
 dir *.%ext% /a:-d /o:n /b > _playlist_.m3u
:ADR
 for /f "tokens=1,2,3,4,5,6 delims=\" %%a in ("%cd%") do (set adr=%%f,%%e,%%d,%%c,%%b,%%a)
 for /f "delims=," %%i in ("%adr%") do (if not "%%i"=="" call :_PLAY %%i)
goto END
:_PLAY
 ren _playlist_.m3u _%1%2%3%4%5%6.m3u
:END

(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é)

Zpět do poradny Odpovědět na původní otázku Nahoru