Předmět Autor Datum
Vsechny zmíněné způsoby - cmd i powershell diakritiku podporují. Aby se dalo odpovědět konkrétně, je…
Jan Fiala 06.09.2021 18:36
Jan Fiala
Díky za odpověď, posílám ukázku. Vytvořil jsem textový dokument viz foto, uložil jsem ho jako .cmd,…
David.dave58 06.09.2021 19:04
David.dave58
Notepad uložení jako OEM neumí, takže bys musel použít jiný editor. Pokud chceš nechat soubor, jak j…
Jan Fiala 06.09.2021 19:27
Jan Fiala
Podařilo se, nicméně písmena ě,č,ř jsou stále bez diakritiky viz foto :(
David.dave58 06.09.2021 19:44
David.dave58
To už je ale problém tvé instalace Windows. Nemáš nastavenu češtinu pro neunicode programy. Tipuji n…
Jan Fiala 06.09.2021 21:36
Jan Fiala
Moc děkuji za rady - teď už vše funguje perfektně!
David.dave5874 06.09.2021 22:00
David.dave5874
Nemělo by to být složité. Jak vypadají zdrojová data? Stačí jen pro ukázku někam nahrát a sem dát od…
Time 06.09.2021 18:51
Time
Díky za odpověď, výše jsem nahrál fotku s konkrétním případem.
David.dave58 06.09.2021 19:12
David.dave58
Naklaďme si otázku: je bezpodmínečně nutné cpát do názvu souboru diakritiku?
host 06.09.2021 20:03
host
Pokud by to nutné nebylo, nesnažil bych se to vyřešit. Díky za radu :)
David.dave58 06.09.2021 20:09
David.dave58
OK, pardon, jen jsem se zeptal. :-) Co bys dělal v dobách původního MS-DOSu, když délka souboru byl…
host 06.09.2021 21:14
host
Funkční řešení zde... Není zač. https://ulozto.cz/file/bQYA6MdStWkf/diakritika-cestina-v-nazvu-sloze…
Time 06.09.2021 20:28
Time
Děkuji, chápu tedy správně, že pro zobrazení diakritiky v názvu složek musím použít při psaní speciá…
David.dave58 06.09.2021 21:12
David.dave58
Nikoli. Žádné speciální znaky. Požadavek byl na diakritiku a ta tam přeci je. V dávce je: chcp 1250…
Time 06.09.2021 21:25
Time
Ale pokud bych chtěl obsah souboru upravit na svůj text, vidím v poznámkovém bloku text se speciální…
David.dave58 06.09.2021 21:30
David.dave58
Lepe to zkusit ve Wordpadu. Ten si poradí s češtinou...
Time 06.09.2021 21:34
Time
Bohužel ani WordPad ..
David.dave58 06.09.2021 21:37
David.dave58
To není možné, vždyť je to v něm napsáno. Můžu vidět snímek se složkami vygenerovanými tou BAT dávko…
Time 06.09.2021 21:38
Time
Beze změny to funguje perfektně, jen nevím jak mohu změnit obsah textu na svůj text. Při snaze uprav…
David.dave58 06.09.2021 21:42
David.dave58
Zkusím tu dávku napsat u sebe. Stačí poskytnout vstupní data do jednotlivých řádků a před každý řáde…
Time 06.09.2021 21:49
Time
Děkuji za rady, nakonec se podařilo problém vyřešit díky poznatku Jana Fialy. Hezký večer!
David.dave5874 06.09.2021 22:02
David.dave5874
Co přesně pomohlo? Přeci jen s ohledem a úctou k času našich následovníků je vhodné to sem napsat...
Time 06.09.2021 22:08
Time
Vše bylo v pořádku až na system, viz: https://pc.poradna.net/questions/3099381-hromadne-vytvoreni-sl…
Jan Fiala 06.09.2021 22:24
Jan Fiala
Ufff, přehlédl jsem to. Byl náročný den od 4:00 a pro oči jsem neviděl. Děkuji za vysvětlení.
Time 07.09.2021 07:18
Time
Comandline je bez problémů (teda aspoň pokud jde o češtinu, azbuku nebo japonské znaky rozhodně ten…
ml1 07.09.2021 11:09
ml1
S mode con cp jsi nekolik verzi OS v minulosti.
Jan Fiala 07.09.2021 12:07
Jan Fiala
Jo taky jsem příkaz mode měl spojený s nějakými archaickými časy, ale problém to vyřešilo. (Opravdu… poslední
ml1 10.09.2021 10:39
ml1
Dá sa, ale neodporúčam commandlinom spracovávať "češtinu". Už len ten spomenutý dir > seznam.txt sp…
čitateľ 07.09.2021 20:46
čitateľ
Tady jde spíše vidět, proč je lepší nepoužívat diakritiku (pak se nic takového nemusí řešit).
Abox 07.09.2021 14:41
Abox
Není náhodou smyslem poradny najít řešení daného problému, než se vzdávat?
Adams1158 07.09.2021 19:58
Adams1158
Souhlasím. Rozkaz, ten zněl jasně!
Time 07.09.2021 20:56
Time

Vsechny zmíněné způsoby - cmd i powershell diakritiku podporují.
Aby se dalo odpovědět konkrétně, je yreba dotaz konkrétně položit.

Pokud chceš cmd připravit v poznamkovem bloku, musíš výsledný cmd uložit v OEM kódování (latin 2) nebo použít na začátku davky prikaz CHCP

To už je ale problém tvé instalace Windows. Nemáš nastavenu češtinu pro neunicode programy. Tipuji na Windows 10, které jsi dostal předinstalované s počítačem od nějakého většího výrobce.
Používají zmršený obraz, do kterého "připrdnou" lokalizaci.

Dá se to vyřešit:
Pravá myš na Start / Spustit / Control
Hodiny a oblast / Oblast
Druhá záložka - správa

Ve druhé části je pro programy nepodporující Unicode sice Česko, ale mají to blbě.
Takže změnit na třeba Angličtina (Spojené státy), potvrdit, restartovat
Pak to samé a vrátit na Česko, opět restart

Tím se systém uvede do stavu, v jakém měl správně být.

Comandline je bez problémů (teda aspoň pokud jde o češtinu, azbuku nebo japonské znaky rozhodně ten windowsovský nebere, to umí jen ten linuxový), jen se musí ten bat uložit se správným kódováním (latin2 nebo 1252 či co už nevim, ale to se lehce vyzkouší). A lepší než poznámkový blok je na to PSPad, který to umožní.
Já jsem něco podobného, ale složitějšího řešil před časem. Šlo o to, že mám program, který načítá názvy souborů ze standardního vstupu (stdin) a dělá s nima něco (v tomto případě výpočet nebo kontrola crc ale to je úplně jedno, jde o to, že se k němu ten název musí dostat). Program je konzolovou aplikací, takže očekává kódování windows, i když funguje na příkazovém řádku. Ten standardní vstup jsem normálně přesměrovával na soubor, kde jsem právě musel použít správné kódování češtiny. Ten soubor vznikal jako:


dir *.* /s/b > seznam.txt

ale pak jsem právě musel převést češtinu z latin do windows. Na to jsem měl jinou aplikaci, která stdin překlopila na stdout s převedenou češtinou, ale ta nefiungovala v 64 bitových windows (vůbec nechápu proč), tak jsem to provizorně dělal ručně, než to zkompiluju pro 64 bitů. Předtím to bylo jen zřetězení tří programů, poté jsem ten prostřední článek musel dělat ručně.
Po několika letech mě to přestalo bavit, tak jsem hledal jak z toho ven, aniž bych musel provádět archeologický průzkum (tu sadu aplikací jsem dělal odhadem nejpozdějc roku 2005 a bylo by snad rychlejší to udělat znova než dohledávat zdrojáky). A našel jsem. Do dávkového souboru jsem přidal příkaz mode (něco jako mode con cp 1250), kterým nastavuju češtinu na windowsovskou (to by byl jiný způsob, jak se s tím poprat - přizpůsobit příkazový řádek souboru a ne soubor příkazovému řádku). Zobrazuje se sice jako hatmatilka, ale hlavní je, že se domluví.

Jo taky jsem příkaz mode měl spojený s nějakými archaickými časy, ale problém to vyřešilo. (Opravdu si nepamatuju, kdy naposledy jsem příkaz mode předtím použil, býval běžně v autoexecu, ale to je už opravdu mnoho let. Taky jsem jím přesměrovával paralelní port na sériový kvůli tiskárně a programu, který uměl jen lpt, ale to je taky dávná minulost. Ani nevím, jak mě zrovna takové řešení napadlo.)
Schválně jsem ten dávkový soubor dohledal


mode con select=1250
dir /a-d/b/s | convypis.exe

Convypis měla být (provizorní) konzolová verze programu vypis, spíš taková provizorní náhrada, protože vývoj grafické verze se mi vymknul z ruky (ono dělat cokoliv při studiu vš je skoro nemožné, navíc jako mladý a nezkušený jsem se snažil toho tam naprat co nejvíc bez ladu a skladu). Proto i ten matoucí název, protože program vypis dělal opravdu výpis, ke kterému potom počítal kontrolní součty CRC32, případně je kontroloval, pokud už v minulosti je počítal (a řadu dalších věcí), tohle dělá jen ten výpočet nebo kontrolu souboru zadaného jména. No a toto původně provizorium používám dodnes (zvítězila jednoduchost nad přeplácaností) a vlastně až na problém s češtinou, to funguje. Ten problém jsem předtím řešil mezikrokem (program, který čte ze stdin a posílá na stdout nezměněné to, co neni diakritika, a to co je, tak převede). Pak jsem ten mezikrok, který z nějakého důvodu nešel spustit v 64 bitové verzi windows7, prostě takto nahradil (předtím jsem si dělal výpis dir do souboru a češtinu jsem převáděl v pspadu abych mohl upraveným souborem program nakrmit).

Dá sa, ale neodporúčam commandlinom spracovávať "češtinu".

Už len ten spomenutý dir > seznam.txt spotvori množstvo znakov, nedávno som bol prekvapený keď len takú obyčajnú pomlčku (em dash) skonvertoval na spojovnik/mínusko. Výsledok, file not found. Celý skript som následne prerobil do powershellu. Tam našťastie už žiadna zrada nebola.

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