Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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]

Řešení:

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š.

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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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
Děkuji oběma (kacikar i ledni brtnik). Včera jsem si na to vzpomněl a fungovalo to. :-) Ale stejně j… nový
Yarda 29.06.2026 09:05
Yarda
že ve W10 neexistuje nějaký jednoduchý příkaz... Takových jednoduchých příkazů bohužel chybí spoust… nový
host 29.06.2026 09:25
host
ve W10 neexistuje nějaký jednoduchý příkaz, něco jako "ulož seznam souborů v adresáři do textového s… poslední
IQ37 29.06.2026 13:48
IQ37

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.
:-( :beer:

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"

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:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\SaveFileList]
@="Uložit seznam souborů (UTF-8)"

[HKEY_CLASSES_ROOT\Directory\Background\shell\SaveFileList\command]
@="powershell.exe -NoProfile -Command \"Get-ChildItem -Name | Out-File -Encoding UTF8 'seznam.txt'\""

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