Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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

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

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