Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - (cmd|bat) Замена одних символов на другие

Ответить
Настройки темы
Разное - (cmd|bat) Замена одних символов на другие

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть такая программа,которая заменяет одни символы на другие
Чтобы у вас была эта прога создайте текстовый документ и переименуйте его в 123.bat потом пкм по файлу изменить и вставьте этот код
HTML код: Выделить весь код
SetLocal EnableExtensions set src=1.txt set dest=2.txt For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "1" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "2" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "3" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "4" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "5" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "6" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "7" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "8" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "9" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "0" "" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "a" "o" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "o" "a" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "1" "2" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "2" "3" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "3" "4" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "4" "5" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "5" "6" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "6" "7" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "7" "8" "%dest%" For /F "UseBackQ delims=" %%? in ("%src%") do call :replace "%%?" "8" "9" "%dest%" :replace set "st=%~1" call echo %%st:%~2=%~3%%>> "%~4"

1.txt это файл который должен лежать с bat в одной папке
2.txt это куда сохраняется результат

а мне нужно чтобы этот код (к примеру) 8 на 9, но не в одной строке заменял, а во всём текстовым документе, так-как сейчас этот код работает очень и очень медленно, и у меня txt бывают очень большие, бывает и на 4000000 строк и более.
Кто даст новый код буду очень благодарен!

Отправлено: 02:18, 18-06-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Воспользуйтесь sed — Википедия: sed for Windows.

Цитата Ваня_98:
бывает и на 4000000 строк и более. »
Что за файлы?

Отправлено: 02:51, 18-06-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата Iska:
Что за файлы? »
Да задача! Это сколько нужно "прокрутить", чтобы разобрать, что 1 байт = 1 символ (unicode = 2), в килобайте = 1024 байта, и решить, сколько будет в файле с 4 000 000 строк, не говоря о том, сколько в каждой строке символов?
Реально, мне так кажется, если нужно исключительно "8" на "9", то зачем такой расширенный алгоритм? FOR всегда и во всех языках была медленной командой и наверное, лучше использовать SET - не утверждаю и с командами DOS давно не работал, поэтому, просто, как ожидание развернутой подсказки от профи и повышения собственного уровня.

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 18-06-2015 в 04:07.


Отправлено: 03:47, 18-06-2015 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


В каждой строчке где-то по 10-17 симвалов

Отправлено: 06:19, 18-06-2015 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


opel431, проблема в том, что мы, как обычно, не видим и не знаем настоящей, реальной задачи, о которой автор молчит, а должны решать другую, вторичную, которую автор озвучил.

Отправлено: 07:24, 18-06-2015 | #5


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я хочу увеличить скорость обработки, сейчас эта прога заменяет что-то на что-то в одной строке, а я хочу чтобы заменяла во всём txt примерно также как в текстовом блокноте открыть этот файл правка/заменить/что на что.

Отправлено: 08:53, 18-06-2015 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Ваня_98, это опять-таки не та основная задача, которую Вы решаете. Могу лишь повторить: sed for Windows для решения Вашей вторичной (озвученной) задачи в рамках заявленной категории. Или перейти на WSH/PowerShell.

Отправлено: 13:28, 18-06-2015 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - (cmd|bat) Замена одних символов на другие

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск нескольких файлов и замена на другие solomonkane Скриптовые языки администрирования Windows 3 11-09-2014 18:38
CMD/BAT - [решено] замена символов в bat на символы, полученные по формуле Alexander_88 Скриптовые языки администрирования Windows 5 19-08-2014 18:23
Разное - замена в тексте одних символов на другие! Terry_0 Программирование и базы данных 6 17-02-2014 08:58
замена в тексте одних символов на другие! Terry_0 Тест-форум 0 16-02-2014 12:53
Любой язык - [решено] Замена символов на другие в огромном файле Megatron13 Скриптовые языки администрирования Windows 6 01-10-2012 06:03




 
Переход