En batch:
Bueno estimados lo que estoy buscando es: si es que alguien me puede explicar como se hace un reemplazo de numero en un texto cualquiera
yo quiero que un script haga algo asi
"ingrese la ip antigua (grabo en "a")
ingrese ip nueva ( grabo en "b")
reviso si b es diferente de a
abro texto
busco ip antigua (a)
cambio ip antigua (a) por ip nueva (b) sin modificar el demas texto
cambio de directorio
repito proceso"
Si es que alguien me puede ayudar con esto, por que como ven soy nuevo haciendo script en batch y esto me serviria mucho para optimizar procesos en mi trabajo
he intentado hacerlo yo pero sin resutados
Saludos
Mostrad el script que tienes.
;D no es tan dificil pero si pones un avance del code haci no me siento un :¬¬ te ayudo... ;D
vas a ver q no es para nada imposible
@echo off
setlocal enabledelayedexpansion
set a=11.11.11.11
set /p b=Ingrese Ip del servidor:
for /f "tokens=* delims=" %%x in ('type "texto.txt"') do (
set linea=%%x
set linea=!linea:%a%=%b%!
call :show !linea!
)
goto:eof
:show
echo %* >> "tem_texto.txt"
donde 11.11.11.11 es la ip que le puse al texto base (texto.txt) y %b% es la que le quería poner
este scrip me funcionó de maravillas el único problemas fue que al correr varios de estos en el mismo bat no me leia todo el texto de cada archivo y alcanzaba a editar solo la primera linea
lo que decidí hacer fue: crear un bat que llamara a los demas y heredara la siguiente linea(en negrita) tambien a los demas(comando call "directorio/archivo.bat").
@echo off
setlocal enabledelayedexpansion %importatisimo%
set a=11.11.11.11
set /p b=Ingrese Ip del servidor:
del "C:\nueva carpeta\texto1.txt"
del "C:\nueva carpeta\texto2.txt"
del "C:\nueva carpeta\texto3.txt"
del "C:\nueva carpeta\texto4.txt"
echo.
echo borrando archivos antiguos %para no escribir dos veces el texto%
pause >nul
call "C:\nueva carpeta\script1.bat"
echo texto1 editado!!!
call "C:\nueva carpeta\script2.bat"
echo texto1 editado!!!
call "C:\nueva carpeta\script3.bat"
echo texto1 editado!!!
call "C:\nueva carpeta\script4.bat"
echo texto1 editado!!!
cls
color 0E
echo.
echo.
echo.
echo Presione un tecla para terminar script
pause > nul
exit
eso me funcionó de maravillas, puesto que al crear mas script donde necesite editar mas archivos solo tengo que poner:
call "Directorio\archivo.bat" y esto hara correr el scrip de acuerdo a los datos ingresados en el script principal, ademas no se cortan los procesos de copiado y edición
Si a alguien le sirvió, que bueno
Cualquier duda solo pregunten
Saludos