Achei uma bat para fazer replace de caracteres em arquivos muito grandes
O nome da bat é : BatchSubstitute.bat
Estou testando com um arquivo de 50 MB.
Visite : http://www.dostips.com/?t=batch.findandreplace
Description: | This batch allows string substitution in a text file. It parses each line of a text file for a particular string and replaces it with another string. I.e. To replace all occurrences of "Yellow Submarine" in "color.txt" with "uboot" and put the output on the screen run: BatchSubstitute.bat "Yellow Submarine" uboot color.txt Or type color.txt|BatchSubstitute.bat "Yellow Submarine" uboot Optionally pipe the output into a new file, i.e. BatchSubstitute.bat "Yellow Submarine" uboot color.txt>newfile.txt Or type color.txt|BatchSubstitute.bat "Yellow Submarine" uboot>newfile.txt Note: Due to the nature of the FOR command and string substitution, the following known restrictions apply:
|
echo off
REM -- Prepare the Command Processor --
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION
::BatchSubstitude - parses a File line by line and replaces a substring"
::syntax: BatchSubstitude.bat OldStr NewStr File
:: OldStr [in] - string to be replaced
:: NewStr [in] - string to replace with
:: File [in] - file to be parsed
:$changed 20100115
:$source http://www.dostips.com
if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:%~1=%~2%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
) ELSE echo.
)