AZJIO

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору bomzz Прога написана на AutoIt3. Он переводит строки поиска и документ в UTF16 для выполнения замены, а при сохранении использует указанный формат. Но то что мы видим в консоли и то что мы видим в документе не одно и тоже, русский в 866 и русский в UTF-8 и русский в 1251 имеет разный бинарный код. А англ. текст в этих кодировках одинаковый. Мне надо самому попробовать, чтобы точно ответить. Тут столько заложенных бомб, как путь интерпретируется? В батниках путь с русскими буквами тоже может быть поломан, вот сейчас решать все эти проблемы батника... Итак, вот видео, где показано, как всё нормально работает, то есть проблема кода батника не проблема TextReplace. ("OBS Studio" не показал сторонние окна в режиме захват окна) Рабочий батник Код: @echo off @chcp 1251 Start "" "путь_к_проге\TextReplace.exe" /f"U8" \p"путь_к_папке_файла" \m"файл_или_маска" \s"найти" \r"заменить" pause | Нюансы, относительные пути не работают, так как TextReplace делает свою папку рабочей директорией и относительные пути она воспринимает относительно себя, поэтому если пути указаны относительно батника, то это не сработает, надо получить путь батника, сложить с относительным путём, чтобы получить абсолютный и потом передать его TextReplace. Так сделано, потому что если TextReplace вызывался из батника, то он не видел своих файлов настройки и файлов относительно TextReplace, так как брал относительно батника и удивление почему не работает, поэтому в коде TextReplace я принудительно перезадал рабочую папку, чтобы он видел свои папки и файлы не зависимо откуда был запущен. | Всего записей: 4686 | Зарегистр. 03-05-2006 | Отправлено: 09:42 03-07-2025 | Исправлено: AZJIO, 10:42 03-07-2025 |
|