Acerca del reemplazamiento de palabras en un archivo de texto, ya te han dado una solución, pero siempre está bien mostrarle otras alternativas y enfoques a la persona que tiene dudas y por eso yo te habría sugerido diréctamente cualquier otro lenguaje que no sea Batch (uno sencillo que puedes usar es VBS), te muestro un ejemplo para reemplazar palabras:
Set FSO = CreateObject("Scripting.FileSystemObject")
OldTextFile = ".\Archivo.txt"
NewTextFile = ".\Nuevo Archivo.txt"
ReplaceFrom = "Hello"
ReplaceTo = "Aló"
FSO.CreateTextFile(NewTextFile, 2). _
Write(Replace(FSO.OpenTextFile(OldTextFile, 1).ReadAll(), _
ReplaceFrom, ReplaceTo, 1, -1, vbTextCompare))
De todas formas también podrías usar la función "RSA" para reemplazar palabras, de esta rutina que codeé para utilizar en Batch ~>
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de textoEjemplo de uso:
Call :TEXTMAN RSA "Archivo.txt" "ElHacker.net" "LeJuakér.né"
@Echo OFF
:: TEXT MANIPULATOR ROUTINE v0.5
:: By Elektro
:: SYNTAX:
::
:: TEXTMAN [ACTION] [LINE(S)] [FILE] [TEXT]
::
:: * [LINE(S)] parameter is Optional for some actions
:: * [TEXT] parameter is Optional for some actions
:: ACTIONS:
::
:: RSA = REPLACE_STRING_ALL * Replace word from all lines.
:: EXAMPLES:
::
:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::
:: ::
:: Replace the words "Elektro" to "H@cker" in all lines. ::
:: Call :TEXTMAN RSA "Test.txt" "Elektro" "H@cker" ::
:: ::
:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::
:TEXTMAN
(SET /A "A=0", "LINE=0", "TOTAL_LINES=0") & (CALL :%~1 %* || (ECHO Invalid parameter & Exit /B 1)) & (GOTO:EOF)
:RSA
(For /F "tokens=1* delims=]" %%A in ('type "%~2" ^| find /n /v ""') DO (CALL SET "STRING=%%B" && (if "%%B" EQU "" (Echo+>> "%~2.NEW") ELSE ((CALL ECHO %%STRING:%~3=%~4%%)>>"%~2.NEW")))) && (CALL :RENAMER "%~2") & (GOTO:EOF)
:RENAMER
(REN "%~1" "%~nx1.BAK") & (MOVE /Y "%~1.BAK" "%TEMP%\" >NUL) & (REN "%~1.NEW" "%~nx1") & (GOTO:EOF)
start GTR2WGen.exe
ping -n 3 127.0.0.1 > null
el ping es para que me haga una pausa y le da tiempo al exe a generar los archivos que despues modifico
Te sugiero que leas la sección de ayuda de cada comando que vayas a usar, para no acabar haciendo cosas sin sentido.
Start /?
WAIT Iniciar aplicación y esperar a que finalice comando o programa
Así pues, esta sería la orden:
Start /W "Título" "GTR2WGen.exe"
(Y eliminas el ping, obvio)
Hay varías cosas más erroneas en los códigos que has mostrado (en las lineas del FOR sobre todo) pero no entraré más en detalles ya que te dí otra solución mejor que Batch y el compañero
@Almapa ya te arregló esos otros errores que tuviste.
Saludos!