Buscar texto y reemplazarlo dentro del mismo Batch

Tengo el siguiente batch que lo uso para instalar unos programas de ejemplo.

@echo off
:Inicio
Echo Pasos para instalacion de programas.
Echo -------------------------------------------
Echo 1.- Instalar Programa Fase 1
Echo 2.- Instalar Programa Fase 2
Echo 3.- Salir
Echo ----------------------------------------------------------------------------------------
set /p opcion=Elija el numero que desea ejecutar?:

if (%opcion%) == (1) goto fase1
if (%opcion%) == (2) goto fase2
if (%opcion%) == (3) goto Salir
goto inicio

:Fase1
Echo --------------------------------------
echo Instalar Programa Fase 1
echo --------------------------------------
cd D:\fase1.exe
pause
goto inicio

:Fase2
Echo --------------------------------------
echo Instalar Programa Fase 2
echo --------------------------------------
cd D:\fase2.exe
pause
goto inicio

:Salir
Echo --------------------------------------
Echo Presione cualquier tecla para SALIR...
Pause
Echo --------------------------------------
Echo Instalador cerrado.

Mi consulta es: Se puede por ejemplo elegir la opción 1, cumplir esta instalación, volver al menú principal y que el texto de la Opción 1 se modifique a por ejemplo 1.- ¿Instalar Programa Fase 1 Instalado Correctamente ?.

Respuesta
1

Si te he entendido bien, la respuesta es "NO". Por un lado se supone que el texto del BAT en ejecución está cargado en memoria, de modo que aunque se modificara "en vivo" la modificación no sería efectiva. Además creo que me ha pasado alguna vez que si tengo un BAT en ejecución, a la espera de algo, y hago algún cambio desde una ventana de edición del BAT al volver al que estaba en ejecución se produce un error.

Muchas gracias por la explicación. Cuento que lo pude resolver finalmente, en vez de modificar el texto, puse una variable tipo %Fase_1=% y le agrega un texto al cumplir la función. Saludos

Me alegro de que lo hayas resuelto.

Supongo que lo que presentas en la consulta es una especie de ejemplo, pero no el bat real, porque las líneas de ejecución no pueden ser "cd D:\faseN.exe", en todo caso serían "D:\faseN.exe", pero está claro que el problema no era ese.

Si te parece bien cierra la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas