elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Cifrar documentos-carpetas con GnuPG en Linux y Windows


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  Txt separados por coma, palabras a variable [Batch]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Txt separados por coma, palabras a variable [Batch]  (Leído 529 veces)
guason9

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Txt separados por coma, palabras a variable [Batch]
« en: 25 Abril 2017, 18:11 »

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!!!


En línea

Bravoacm

Desconectado Desconectado

Mensajes: 1



Ver Perfil
Re: Txt separados por coma, palabras a variable [Batch]
« Respuesta #1 en: 26 Abril 2017, 10:01 »

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:


« Última modificación: 26 Abril 2017, 16:37 por Eleкtro » En línea

guason9

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Txt separados por coma, palabras a variable [Batch]
« Respuesta #2 en: 26 Abril 2017, 15:47 »

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.
En línea

Eleкtro
🌍 🕉️ 🛏️ Novato Astral 🛏️ 🕉️ 🌍 y...
Moderador Global
***
Desconectado Desconectado

Mensajes: 9.272


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Txt separados por coma, palabras a variable [Batch]
« Respuesta #3 en: 26 Abril 2017, 16:40 »

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!
« Última modificación: 26 Abril 2017, 16:42 por Eleкtro » En línea


[/cent
guason9

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Txt separados por coma, palabras a variable [Batch]
« Respuesta #4 en: 26 Abril 2017, 16:43 »

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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda para reemplazar palabras de una linea de un .txt con batch (SOLUCIONADO)
Scripting
pitoloko 3 5,663 Último mensaje 13 Noviembre 2009, 18:00
por pitoloko
[Batch] Delimitar palabras en txt.
Scripting
Dany3j 0 916 Último mensaje 6 Febrero 2012, 21:18
por Dany3j
(SOLUCIONADO) Ayuda para reemplazar palabras en un .txt con batch usando Sed « 1 2 »
Scripting
miguel088 14 3,853 Último mensaje 11 Noviembre 2013, 15:42
por miguel088
Contar palabras batch
Scripting
alberto3_3 1 863 Último mensaje 11 Agosto 2015, 07:01
por santizuche
(BATCH) Eliminar lineas que NO contengan ciertas palabras..
Scripting
Afkael 7 1,730 Último mensaje 30 Noviembre 2015, 07:05
por explorer
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines