Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: guason9 en 25 Abril 2017, 18:11 pm



Título: Txt separados por coma, palabras a variable [Batch]
Publicado por: guason9 en 25 Abril 2017, 18:11 pm
Buenassssss, como va????

Tengo el siguiente dimela que me está complicando la existencia :(
Tengo un archivo de texto con cientos de líneas. Cada línea con dos nombres, dos apellidos y una cuenta, algo así:

nombre1,nombre2,apellido1,apellido2,cuenta12
nombre3,nombre4,apellido3,apellido4,cuenta23
..............

Lo que desearía poder hacer, es tomar cada palabra de cada línea y guardarlos en variables para poder usarlos y generar otro txt con una sentencia.
Por ejemplo que salga:

Mis nombres son %nombre1% %nombre2% mis apellidos  %apellido1% %apellido2% y mi cuenta es %cuenta12%
Mis nombres son %nombre3% %nombre4% mis apellidos  %apellido3% %apellido4% y mi cuenta es %cuenta34%

Se me ocurre leer una a una las lineas, delimitar las palabra por coma y meter cada palabra a variable y hacer un echo guardando toda la sentencia a un txt. Y nuevamente que comience el bucle....pero bue, me tranco en lograr tomar cada palabra en una variable!!!!!

Gracias de antemano!!!


Título: Re: Txt separados por coma, palabras a variable [Batch]
Publicado por: Bravoacm en 26 Abril 2017, 10:01 am
Buenas guason9, la verdad que llevo poco tiempo en esto de programar en batch, pero por suerte tengo la "solución" a tu problema.

Suponiendo que tu archivo de texto es como lo describes:

nombre1,nombre2,apellido1,apellido2,cuenta12
nombre3,nombre4,apellido3,apellido4,cuenta23

El archivo .bat que deberías realizar es el siguiente:

Código
  1. @echo off
  2.  
  3. for /F "tokens=1,2,3,4,5 delims=," %%a in (C:\archivo.txt) do (
  4.  
  5. echo Mis nombres son %%a, %%b, mis apellidos %%c, %%d y mi cuenta es %%e
  6.  
  7. ) >> "resultado.txt"

Hasta aquí el batch que necesitas, espero que no contenga ningún fallo ya que como he mencionado anteriormente no llevo mucho tiempo programando batch pero aprendo rápido.

Un saludo y suerte.  :laugh:


Título: Re: Txt separados por coma, palabras a variable [Batch]
Publicado por: guason9 en 26 Abril 2017, 15:47 pm
Bravoacm muchas gracias!!!!

Ayer en la tarde le seguí dando al tema y lo tenía muy parecido al código que resolviste....me faltaba delimitar y notablemente lo hiciste con "delims"...Grande!!!! 

Gracias de nuevo!!!!
Saludos.


Título: Re: Txt separados por coma, palabras a variable [Batch]
Publicado por: Eleкtro en 26 Abril 2017, 16:40 pm
Ayer en la tarde le seguí dando al tema y lo tenía muy parecido al código que resolviste...

Ten presente encerrar la ruta del archivo entre comillas para evitar posibles errores de sintaxis en el futuro (ej. un nombre con espacios en blanco):

De esto:
Citar
Código:
for /F "tokens=1,2,3,4,5 delims=," %%a in (C:\archivo.txt) do (...)

A esto otro:
Código:
For /F "UseBackQ Tokens=1-5 Delims=," %%a In ("C:\archivo.txt") Do (...)

¡Saludos!


Título: Re: Txt separados por coma, palabras a variable [Batch]
Publicado por: guason9 en 26 Abril 2017, 16:43 pm
Ten presente encerrar la ruta del archivo entre comillas para evitar posibles errores de sintaxis en el futuro (ej. un nombre con espacios en blanco):

De esto:
A esto otro:
Código:
For /F "UseBackQ Tokens=1-5 Delims=," %%a in ("C:\archivo.txt") Do (...)

¡Saludos!

Excelente...buen aporte tmb
Gracias por la ayuda a ambos!!!!

Saludos