Eliminar espacios lineas archivo de texto

Iniciado por Shuffle66, 18 Julio 2013, 10:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Shuffle66

Hola a todos.

Necesito ayuda referente a lo siguiente:

Después de ejectuar un archivo .bat, obtengo un archivo de texto con un número indeterminado de lineas, el problema es que no logro eliminar los espacios que contienen dichas lineas

Ejemplo:

usuario1(espacio),1(espacio)
usuario2(espacio),2(espacio)
usuario3(espacio),3(espacio)


Desearía que quedase asï:

usuario1,1
usuario2,2
usuario3,3


Gracias de antemano por qualquier respuesta.

Eleкtro

Código (dos) [Seleccionar]
@Echo OFF

FOR /F "Usebackq Tokens=*" %%# IN ("Archivo.txt") DO (
Set "Line=%%#"
Call Echo %%LINE: =%%
)

Pause&Exit


Saludos








Shuffle66

...hola, he probado el código y el cmd muestra las lineas modificadas correctamente, echo de menos el poder guardar el resultado en un nuevo archivo de texto.

Gracias.

Eleкtro

#3
Cita de: Shuffle66 en 18 Julio 2013, 11:02 AMecho de menos el poder guardar el resultado en un nuevo archivo de texto.

Es algo muy sencillo de hacer sin dificultad alguna, lee un poco aquí:

By Elektro H@cker - Tutorial extendido de aprendizaje Batch

4.6 Operadores de desplazamiento lógico (o Redireccionamiento)


Saludos








Shuffle66

#4
...ciertamente, he modificado el código para obtener un archivo resultante:
Código (dos) [Seleccionar]

@Echo OFF

FOR /F "Usebackq Tokens=*" %%# IN ("myfile.txt") DO (
Set "Line=%%#"
Call Echo %%LINE: =%% >>new.txt
)
Pause&Exit


..tan solo observo que al final de cada linea me mantiene el espacio en blanco.

Eleкtro

Cita de: Shuffle66 en 18 Julio 2013, 11:11 AMobservo que al final de cada linea me mantiene el espacio en blanco.

Antes de nada, tienes que usar el tag para insertar código, en mi firma tienes como hacerlo.

Código (dos) [Seleccionar]
Call Echo %%LINE: =%% >>new.txt

Estás dejando un espacio en blanco antes del operador, puedes eliminarlo,
un saludo








Shuffle66

....con el siguiente código:

@Echo OFF

FOR /F "Usebackq Tokens=*" %%# IN ("myfile.txt") DO (
Set "Line=%%#"
Call Echo %%LINE: =%%
)>blanks.txt
Pause&Exit


...obtengo solo la última linea del archivo original.

Shuffle66

Solucionado:

Código (dos) [Seleccionar]
@Echo OFF

del blanks.txt

FOR /F "Usebackq Tokens=*" %%# IN ("myfile.txt") DO (
Set "Line=%%#"
Call Echo %%LINE: =%% >>blanks.txt
)


Gracias.