Если в Вашем тексте нет гос секретов и вмешательства в американские выборы, хотелось бы протестировать решения на Вашем реальном файле.
И, однозначно, при разных кодировках файлов надо подбирать, как сохранить строку заменяемых символов - её кодировка должна совпадать с кодировкой файла.
По видимому, корректнее задавать эту строку в виде массива кодов символов.
CMD/BAT - [решено] Удаление нежелательных символов из строки.
Никаких гос-секретов )) Все гораздо прозаичнее. Хотя подобные штуки уже есть, но, по разным причинам, решил написать свой инструмент для архивирования файловых инфобаз 1с. BAT-ник мал да удал и работает везде. Вобщем - если вам интересно в двух словах - тулза, являясь частью системы автоматизации, формирует меню выбора в виде списка баз на основе файлика ibases.v8i, в котором, среди прочего, хранятся имена и пути. Сам файл, насколько я понял, всегда имеет кодировку utf-8 c bom, поэтому приходится сначала конвертить его в cp866 во временный файл и только потом уже парсить. Это для совместимости батника с WinXP (конвертирую с помощью win_iconv). В результате все просто - нужно лишь выбрать информационную базу из списка меню, а все пути подставятся сами и она благополучно улетит в датированный архив (через 7zip_extra) в подкаталог с именем базы. (это быстро и удобно + сама 1С, во избежание, рекомендует делать архивы копированием, а не выгрузкой - https://its.1c.ru/db/metod8dev#content
Проблемы появляются, когда пользователь с фантазией не скучно и не стандартно обзывает свои базы, поэтому и возникает необходимость прогонять некоторые строки файла через фильтр. Если подходить строго, то удалять нужно символы, которые нельзя использовать в путях, но задача показалась мне интересной и для универсальности хотелось бы менять набор символов в широком диапазоне.
п.с. Понимаю, что практически на любом другом интерпретируемом языке реализовать подобное не составило бы большого труда, однако нужно чтобы и работало на любом компе.
п.п.с Файлик во вложении
.