Ваня_98
18-06-2015, 02:18
Есть такая программа,которая заменяет одни символы на другие
Чтобы у вас была эта прога создайте текстовый документ и переименуйте его в 123.bat потом пкм по файлу изменить и вставьте этот код
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 строк и более.
Кто даст новый код буду очень благодарен!
Чтобы у вас была эта прога создайте текстовый документ и переименуйте его в 123.bat потом пкм по файлу изменить и вставьте этот код
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 строк и более.
Кто даст новый код буду очень благодарен!