|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Скрипт для замены текста в файлах |
|
|
Любой язык - [решено] Скрипт для замены текста в файлах
|
Новый участник Сообщения: 22 |
Профиль | Отправить PM | Цитировать Ищу решение - как лучше реализовать замену определенного текста в текстовом файле?
Файлы примерно по 5мб, разных пар текста для замены будет порядка 100 штук. То есть в каждом файле организовывается поиск примерно 100 различных тестовых фраз и , в случае их наличия, эти фразы заменяются на определенных другие текстовые фразы. Реально ли данную задачу реализовать через командную строку? Какие варианты предложите? |
|
Отправлено: 05:04, 17-06-2019 |
Ветеран Сообщения: 2706
|
Профиль | Отправить PM | Цитировать Цитата Stolc:
Цитата:
|
||
------- Отправлено: 12:22, 17-06-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Будет папка IN, в эту папку попадают файлы для обработки. После обработки файлы попадают в папку OUT.
Фразы для замены: voronez=Воронеж tver=Тверь rostov=Ростов sochi=Сочи |
Отправлено: 12:49, 17-06-2019 | #3 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Stolc:
|
|
------- Отправлено: 13:23, 17-06-2019 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Именно слова целиком и только. Без пробелов и т.п.
|
|
Отправлено: 13:42, 17-06-2019 | #5 |
Ветеран Сообщения: 2706
|
Профиль | Отправить PM | Цитировать Цитата Stolc:
@Echo Off cls SetLocal EnableExtensions,EnableDelayedExpansion CHCP 1251 >nul Set "BoxIn=Z:\Box_In" Set "BoxOut=Z:\Box_Out" Set "BoxArc=Z:\Box_Arc" Set "Mask=incoming*.txt" 2>nul Md "%BoxOut%" 2>nul Md "%BoxArc%" Call :Replacement FOR %%f IN ("%BoxIn%\%Mask%") DO ( Echo "%%f" >"%BoxOut%\%%~nxf" (FOR /F "usebackq delims=" %%s IN ("%%f") DO ( Set "ss=%%s" FOR /F "usebackq tokens=1* delims==" %%i IN (`Set "@@"`) DO Set "ss=!ss:%%j!" Echo !ss! )) Move /Y "%%f" "%BoxArc%\" ) EndLocal pause Exit /B :Replacement Set "@@001=voronez=Воронеж" Set "@@002=tver=Тверь" Set "@@003=rostov=Ростов" Set "@@004=sochi=Сочи" Exit /B Цитата В Вашем файле:
Цитата Если делать замену как указано:
Обработанные файлы перемещаю в архив. Если файл надо получить в кодировке 1251, то и батник сохранить в этой кодировке, если в 866 - сохраните батник в 866 кодировке и убейте строку CHCP 1251 >nul |
|||
------- Последний раз редактировалось megaloman, 17-06-2019 в 15:22. Отправлено: 15:02, 17-06-2019 | #6 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Примного Вам благодарен за скрипт. Он работает прекрасно, но ооооочень медленно. По 2 минуты на один файл.
|
Отправлено: 15:36, 17-06-2019 | #7 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Stolc, можно попробовать другой скрипт. благо на форуме есть поиск
|
Отправлено: 15:53, 17-06-2019 | #8 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата megaloman:
Это я вынужденно усвоил с первых классов: смотрим мою подпись под сообщением. |
|
------- Отправлено: 16:08, 17-06-2019 | #9 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 16:34, 17-06-2019 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
TextReplace - Программа для поиска и замены текста в любых файлах | AZJIO | AutoIt | 6 | 02-02-2018 20:56 | |
Любой язык - скрипт для замены текста в файле | batyaPS | Скриптовые языки администрирования Windows | 19 | 10-01-2015 06:27 | |
Любой язык - Скрипт для замены | Kira1 | Скриптовые языки администрирования Windows | 2 | 15-07-2013 18:39 | |
2003/XP/2000 - Макрос Excel для преобразования колонки текста в число в dbf файлах | aRHangel2013 | Microsoft Office (Word, Excel, Outlook и т.д.) | 8 | 11-01-2013 17:07 | |
C/C++ - Поиск текста в файлах | student_po | Программирование и базы данных | 6 | 04-09-2009 23:33 |
|