¿Reemplazar varias líneas de texto diferentes en un bat?
Tengo una cuestión acerca de cómo reemplazar varias cadenas dentro de un texto de manera automatizada
Tengo una lista de archivos y los archivos que corresponde en una carpeta ej: un archivo llamado kakeka.txt y dentro del archivo de texto una configuración para el, ej: kakeka.txt=a1,1,2,2015
Pero a cada uno le corresponden nuevas combinaciones para este año, ejemplo, todos los valores "ka" ahora deben corresponder a "ma", ke "me" tanto en la carpeta como en el archivo de texto.
El puntol es que tanto el archivo como la línea de texto se llamen al final en este caso
mamema.txt
Bien, pues pude resolver el cambiar los nombres de los archivos con un código parecido a este
for %%f in (*.txt) do (set r0=%%f&call :ren)
:ren
set r1=%r0:ka=ma%
set r2=%r1:be=me%
set r(..)=%r(...):k...=m...%
rename "%r0%" "%r(...)%"
Goto:eof
(...) números infinitos
El anterior funcionaba sustituyendo por capas, donde se modificaba un archivo ya modificado hasta que la ultima modificación sobrescribir el original .
Intentando sustituir ahora las líneas correspondientes en el txt en contre una pregunta parecida con respuesta de gggirald donde de manera resumida ofreció una sintaxis para reemplazar una por una cada línea, en mi caso modifique la sintaxis para que reemplaza directamente lo que necesitaba:
set archivo=text.txt
for /f "tokens=* delims=" %%i in (%archivo%) do (set ANT=%%i&echo !ANT:ka=ma! >>temp.txt)
copy /y temp.txt %archivo%
del /q temp.txt
goto :eof
Mi pregunta ahora, ¿habrá alguna forma de utilizar una sintaxis parecida para reemplazar capa por capa los conjuntos en cuestión? He intentado de varias maneras pero solo una muy enrollada me ha servido
set archivo=text.txt
for /f "tokens=* delims=" %%i in (%archivo%) do (set ANT=%%i&echo !ANT:ka=ma! >>temp.txt)
set archivo1=temp.txt
for /f "tokens=* delims=" %%i in (%archivo1%) do (set ANT=%%i&echo !ANT:ke=me! >>temp1
set archivo(...)=temp(...).txt
for /f "tokens=* delims=" %%i in (%archivo(...)%) do (set ANT=%%i&echo !ANT:k...=m...! >>temp(...)
.txt)
copy /y temp(...).txt %archivo%
del /q temp*.txt
goto :EOF
(...) números infinitos
El problema principal es que se crean demasiados temporales, y no es fácil transcribir todos los cambios necesarios (alrededor de 250 cambios para unos 1200 archivos)
Enserio agradeceria su ayuda :D