¿Como puedo eliminar los caracteres ">" y "<" de un archivo de texto (.txt) con un archivo .BAT?

Necesito eliminar todos los caracteres que sean "<" y ">" de un archivo.txt pero quiero automatizarlo con un archivo .bat espero y puedan ayudarme

1 Respuesta

Respuesta
1

Resulta que acababa de contestar a una pregunta de otro usuario "anonimo" que me parece conectada con esta, y cuando la he enviado resulta que el autor la ha eliminado. Como ya estaba hecha voy a ponerla aquí. Si no era tuya te pido disculpas.

Hay un punto que no me queda muy claro y es como se extrae el valor del campo "Interfaz" de la información. Intuyo que es lo que precede a la "Red" pero no sé si es un número de caracteres fijo, si está separado por un guión de la red, o de alguna otra manera. A la espera de que me aclares eso y, a ser posible, pongas algunos ejemplos de diferentes interfaces, he asumido que siempre es Wi-Fi. También he dejado el nombre de la red en mayúsculas por comodidad ya que así es como viene. Con el ejemplo que pones he creado un archivo al que he llamado "anonimo.txt" y el siguiente BAT debería hacer lo que pretendes:

@echo off
Setlocal EnableDelayedExpansion
del temp.txt
for /f "tokens=1,2* delims= " %%a in (anonimo.txt) do (
if "%%a" == "----------" (
set nombre=%%b
set nombre=!nombre:~6!
set nombre=!nombre:~0,-4!
echo Red: !nombre! >> temp.txt
echo Interfaz: Wi-Fi >> temp.txt
) else (
set clave=%%a
set clave=!clave:~13!
set clave=!clave:~0,-14!
Echo Contrase¤a: ! Clave! >> temp.txt
)
)

El resultado lo dejo en un archivo auxiliar al que he llamado temp.txt.

Pruébalo y si hay que mejorar algo (o no te funciona) dímelo y vemos que posibilidades se nos ocurren.

Efectivamente anteriormente había comentado sobre como modificar:

---------- WI-FI-RAZOR.XML
<keyMaterial>2255255224</keyMaterial>

---------- WI-FI-INFINITUM35D7.XML
<keyMaterial>6462663639</keyMaterial>

---------- WI-FI-INFINITUMZ3SE.XML
<keyMaterial>c1936b8dce</keyMaterial>

Para que se viera de esta manera en un archivo txt:

Red: Razor

Interfaz: Wi-Fi 

Contraseña: 2255255224

(¡Gracias! por contestar rápido pensé que nadie contestaría por eso el motivo de haberlo eliminado)

Eh probado con tu código pero sucede lo sig.

Se muestra el Red e Interfaz correctamente pero la contraseña no, estoy suponiendo que es por: "<>"

No, no debe ser por los caracteres < y > porque a mí me funciona correctamente. Pero he visto que la página ha cambiado ligeramente parte del texto del bat (ya me ha pasado otras veces). Si te fijas en el último comando "echo" además de poner mayúsculas al propio comando y al nombre de la variable, que no tienen influencia en el resultado, ha incluido un espacio entre la "!" y el nombre de la variable. Sustituye "! Clave!" por "!clave!" (espero que ahora lo respete, pero por si acaso no debe haber ningún espacio). Por cierto, ahora te incluyo el bat que te permitiría eliminar los caracteres > y < de un archivo, que he estado probando mientras tanto:

@echo off
Setlocal EnableDelayedExpansion
del temp.txt
for /f "tokens=*" %%a in (anonimo.txt) do (
set linea=%%a
set linea=!linea:^>=!
set linea=!linea:^<=!
Echo ! Linea! >> temp.txt
)

Puede que ocurra lo mismo con la variable "linea" y la "!" en el comando echo. Si añade un espacio debes quitarlo.

Eh corregido el espacio dejando: 

Echo Contrase¤a: !Clave! >> temp.txt

Pero al ejecutarlo me da como resultado en el archivo de texto: "Contrase¤a: ~0, -14 "

Por lo de eliminar < y > ¡Gracias!, ya lo había resuelto encontré alguien preguntando sobre como cambiar ? por >> (Creo fue usted quien también resolvió esa pregunta)

Perdón ya lo eh verificado bien y si me funciona, fue un despiste mio!

Muchas Gracias por su ayuda Sr. gggirald, su información fue de bastante ayuda y de aprendizaje

Solo tengo una ultima pregunta es posible poner un espacio o algún separador entre cada resultado por ejemplo:

red: Razor

contraseña: 2255255224

#############################################################################

red:

contraseña:

Y así sucesivamente.

Ya lo eh resuelto

Perfecto. Ya sé que no hace falta que conteste pero es que si no lo hago me queda pendiente de respuesta. No hace falta que digas nada y así la página la da por contestada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas