Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: xfz4 en 28 Noviembre 2017, 03:30 am



Título: Realizar un For en bat sobre un archivo de texto con plecas
Publicado por: xfz4 en 28 Noviembre 2017, 03:30 am
Hola que tal

Estoy realizando un cambio de palabra en un texto
Con un for en bat pero al momento de toparse con plecas "|"
El for se cicla y me vuelve a correr las cadenas de texto
Habrá alguna manera de omitir estas plecas para que se consiga
El objetivo ?
Este es el bat:
Código:
@echo Off
setlocal enabledelayedexpansion
for /f * tokens=* delims=* %%x in ('type texto.txt') do (
set linea=!linea:palabra=cambio!

call :show !línea!
)
goto:EOF
:show
echo %* >> texto2.txt
goto:EOF

Si las plecas están en la misma línea donde esta la palabra que intento cambiar es cuando no funciona, sin embargo cuando no esta en la misma línea que las plecas sí se cambia, pero veo que se salta cuando hay plecas y omite esa línea. Y le da la vuelta al texto del archivo y vuelve a ciclarse la búsqueda .
El archivo es cualquiera con plecas, por ejemplo:
Código:
|hola
Mundo//
|cruel
Wg|:||:||01
Ok
16384hg
|9901
palabra
3457

Y el resultado que me devuelve es:
Código:
Mundo//
Ok
16384hg
cambio
3457

No me devuelve el texto original habrá alguna manera de hacerlo sin que me cambie el texto?

Saludos