.bat para modificar cierta parte de un archivo .ini

Necesito crear un .bat donde se modifique cierta parte de un archivo .ini que contiene un =
Seria la línea algo así hola=121.123.123.123 seria que encuentre la línea por que esta casi al final de un archivo ini muy largo e intentando basándome en cmd con edlin pero no lo he podido lograr.

1 respuesta

Respuesta

No acabo de entender por qué quieres hacerlo con un BAT. Si, como parece, solo se trata de una línea bien identificada no debería suponer un problema localizarla manualmente. A lo mejor es que es algo que tienes que hacer con frecuencia. En fin. Prueba con esto:

@echo off
del kkk.txt
for /f "tokens=1,2* delims==" %%a in (archivo.ini) do (
if "%%a"=="hola" ( if "%%b"=="121.123.123.123" echo Localizada linea %%a=%%b>>kkk.txt) else echo %%a=%%b>>kkk.txt
)

Está preparado para tu "ejemplo", trabaja sobre archivo.ini, debe localizar la línea "hola=121.123.123.123" y sustituirla por "Localizada linea hola=121.123.123.123". Deja la salida en un archivo de nombre kkk.txt para no modificar el archivo.ini. Si luego se quisiera cambiar, una vez comprobado que se ha conseguido lo que se quería, bastaría ejecutar:

copy /y kkk.txt archivo.ini

Tal como está el BAT tiene el problema de eliminar las líneas en blanco. Si hubiera que respetarlas habría que complicar un poco el BAT.

He estado haciendo pruebas con la sustitución mediante edlin y he visto que da problemas si la cadena a sustituir (o la sustituidora) incluye un "=" o unas comillas. Además el edlin no funciona en procesadores de 64 bits, no trata adecuamente líneas de más de 253 caracteres, ni tampoco archivos que tengan más de 38KB antes de la cadena buscada.

Por otra parte he encontrado una solución para respetar las líneas en blanco pero tiene también problemas con las líneas que contengan comillas.

Parece evidente que este asunto ha dejado de interesarte. Si no fuera así y sigues teniéndolo pendiente, coméntanos algo.

Gracias por tu respuesta no había tenido tiempo de ver este tema revisare el código que me has facilitado y te comente que tal funciona con mi archivo no tendré problemas con el tema de 64 bits ya que son maquinas antiguas de 32.

Supongo que todavía no lo has probado. Lo dejaremos estar, entonces.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas