Ykidia
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Непонятно как он работает, по идее батник различает большие и маленькие. | Цитата: Цитата: Код: REM Типа как тут таблицу транслитерации напиши полностью свою. | | chcp 1251 - не помогло, регистр букв все равно не различается. Батник работает просто - в цикле на нечетном проходе (первый, третий, пятый и т.д.) из переменной цикла заполняется переменная, играющая роль подстроки на замену; на четном проходе (второй, четвертый, шестой и т.д.) делается замена: %исходная_строка:подстрока_на_замену=переменная_цикла%. И т.д. Сделано так потому, что я не знаю, как работать с массивами в cmd/bat. Далее, замена делается при помощи вызова, потому что я не знаю, как различать переменные внутри другой переменной, в то время как все они меняются в цикле, то есть все переменные нужно окаймить"!", навскидку интерпретатор не понимает этой каши: !A:!B!=%%C! , а вот это уже понимает: !A:%1=%2!... Поэтому делать как там по ссылке таблицу транслитерации я не буду - принцип-то один, делается set %str:Gygaguya=Гыгагуя%, только не построчно, а в цикле. P.S. Нашел вроде, как работать с массивами, попробую сделать нормальное прокидывание по таблице; еще возможно удастся сделать замену без использования подпрограммы. Вопрос по различению регистра латинских букв при замене подстроки в строке остается открытым. Если кто знает, пожалуйста, подскажите. |