BATCH – Script DOS para modificar datos en archivo.-

El ejemplo que se presenta a continuación se puede adaptar a cualquier situación en que se requiera modificar los datos de un archivo. Ya que lo recorre linea por linea y cambia los parametros indicados, para este caso busca y cambia 2 valores en particular.

@echo off

set pal1-old=rojo
set pal1-new=negro
set pal2-old=casa
set pal2-new=departamento

set file=d:\texto.txt

echo  Muestro el Archivo de texto Original
echo --------------------------------------
type %file%
echo --------------------------------------

for /f "tokens=*" %%a in (%file%) do call :wri %%a
type "%file%.bak" > "%file%"
del /f /q /a "%file%.bak"

echo.
echo    Muestro el Archivo ya modificado   
echo --------------------------------------
type %file%
echo --------------------------------------
pause

goto :eof

:wri
set lin=%*
call set lin=%%lin:%pal1-old%=%pal1-new%%%
call set lin=%%lin:%pal2-old%=%pal2-new%%%
echo %lin%>>"%file%.bak"
goto :eof

Al ejecutar el script, mostrara por pantalla los siguiente :

Muestro el Archivo de texto Original
————————————–
Voy a pintar mi casa de color rojo para
que vean lo hermosa que se vera mi casa
de colo rojo. Un rojo bien oscuro
En esta linea tengo 2 colo rojo rojo
casa casa para probar cambio
————————————–

Muestro el Archivo ya modificado
————————————–
Voy a pintar mi departamento de color negro para
que vean lo hermosa que se vera mi departamento
de colo negro. Un negro bien oscuro
En esta linea tengo 2 colo negro negro
departamento departamento para probar cambio
————————————–

Esta entrada fue publicada en BATCH - DOS. Guarda el enlace permanente.

4 respuestas a BATCH – Script DOS para modificar datos en archivo.-

  1. DAPT dijo:

    Eres un crack, esto si es un ejemplo, muchas gracias lo pude adaptar a mi proyecto

  2. Fernando dijo:

    Buenas tardes, y si quiero aplicarlo a varios archivos al mismo tiempo, de forma automatica, podras echarme la mano

  3. Muy buen ejemplo, necesitaríamos hacer algunos script para mi empresa de este tipo, si esta interesado, por favor póngase en contacto por email. Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *