Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: FranciskoAsdf en 14 Abril 2011, 20:57 pm



Título: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 14 Abril 2011, 20:57 pm
Estimados, espero no molestar, pero quisiera saber como puedo pasar una lista como la siguiente a un MSGBOX en .VBS
Código:
Des_Proveedor  
ABASTECEDORA DEL COMERCIO LTDA. 
AGROSUPER COMERCIALIZ.DE ALIMENTOS 
ALIMENTOS Y FRUTOS S.A. 
CECINAS CHILLAN LTDA. 
CERVECERA CCU CHILE LTDA 
CMPC TISSUE S.A. 
COMERCIAL CCU S.A 
COMERCIAL SANTA ELENA S.A. 
DISTRIBUIDORA SAN MIGUEL DE ARICA 
EMBOTELLADORA CHILENAS UNIDAS S.A 
EVERCRISP SNACK PROD.CHILE.SA. 
MASTERFOODS CHILE LTDA. 
MOLINERA TEMUCO SCHEID LTDA. 
NESTLE CHILE S.A. 
PORTAL DEL SUR LIMITADA 
PRODUCTOS FERNANDEZ S A 
PROMASA      LTDA 
RABIE S.A. 
RODOLFO HARWARDT RABENKO 
SANTA CRUZ . 
SOC.INVERSIONES LA MUNDIAL LTD 
SURLAT INDUSTRIAL S.A. 
UNILEVER CHILE S.A. 
VINA SAN PEDRO TARAPACA S.A 
SOC.LACTEOS TINGUIRIRICA LTDA. 

La lista NUNCA va a ser la misma.

Esperando me puedan ayudar, me despide agradeciendo de ante mano cualquier ayuda :)


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: Novlucker en 14 Abril 2011, 21:08 pm
No entendí, el msgbox tiene que mostrar la lista completa o como es el tema?

Saludos


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 14 Abril 2011, 21:56 pm
Tiene que mostrar la lista completa, y cuando escribo "nunca va a ser la misma", me refiero a que a veces va a ser mas larga y otras mas corta XD!



Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: klaine en 14 Abril 2011, 22:02 pm
A ver si entendí, ¿lo que quieres es concatenar saltos de línea?

msgbox ("linea 1"&vbcrlf&"linea2")

Lo que no entiendo es que monos pintaría batch akí  :xD si pudieras explicar un poko mejor lo que necesitas...

Saludos  ;)


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 14 Abril 2011, 22:11 pm
Lo que pasa es que con batch genero un archivo .TXT con un lista con datos como los del ejemplo, entonces quiero saber como enviar la lista a un MSGBOX en vez de a un archivo txt, ahora si xDD??!!.


Saludos y gracias por leer ^^


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: klaine en 14 Abril 2011, 23:09 pm
tendrías que concatenar eso linea por linea en tu batch y tener un script (vbs )como este:

Código
  1.  
  2. select case wscript.arguments(0)
  3. case "/?"
  4. call help
  5. case else
  6. call selmsg
  7. end select
  8.  
  9. sub selmsg
  10.  
  11. dim c
  12. c=0
  13.  
  14. for each var in wscript.arguments
  15. c = c + 1
  16. next
  17.  
  18. select case c
  19.  
  20. case 1
  21. call msg1
  22. case 2
  23. call msg2
  24. case 3
  25. call msg3
  26.  
  27. end select
  28.  
  29. end sub
  30.  
  31. sub msg1
  32. msgbox wscript.arguments(0)
  33. end sub
  34.  
  35. sub msg2
  36.  
  37. dim icon
  38. icon = 0
  39.  
  40. select case wscript.arguments(1)
  41.  
  42. case 0
  43. icon = 0
  44. case 1
  45.  icon = vbcritical
  46. case 2
  47. icon = vbinformation
  48. case 3
  49. icon = 48
  50. case 4
  51. icon = vbquestion
  52. end select
  53.  
  54. msgbox wscript.arguments(0), icon
  55. end sub
  56.  
  57. sub msg3
  58.  
  59. dim icon
  60. icon = 0
  61.  
  62. select case wscript.arguments(1)
  63.  
  64. case 0
  65. icon = 0
  66. case 1
  67.  icon = vbcritical
  68. case 2
  69. icon = vbinformation
  70. case 3
  71. icon = 48
  72. case 4
  73. icon = vbquestion
  74. end select
  75.  
  76. msgbox wscript.arguments(0), icon, wscript.arguments(2)
  77. end sub
  78.  
  79. sub help
  80. wscript.echo "Uso:"
  81. wscript.echo "Cscript /nologo msg.vbs [Mensaje] [Tipo] [Titulo]"
  82. wscript.echo "[Mensaje]: Prompt para el cuadro de dialogo"
  83. wscript.echo "[Tipo]: Tipo de icono "
  84. wscript.echo "0 - Sin icono"
  85. wscript.echo "1 - Error"
  86. wscript.echo "2 - Informacion"
  87. wscript.echo "3 - Advertencia"
  88. wscript.echo "4 - Pregunta"
  89. wscript.echo "Para pasar un argumento, el argumento anterior debe ser declarado,"
  90. wscript.echo "por ejemplo, si se pone un icono y se omite el Mensaje"
  91. wscript.echo "el mensaje sera la opcion ingresada para el icono"
  92. wscript.echo ""
  93. end sub
  94.  

Luego lo llamas así en tu batch o si kieres desde la cmd:

Código
  1. cscript /nologo <ruta_del_archivo>.vbs <argumento_1> <argumento_2> <argumento_3>
  2.  

Concatenas la variable en batch o cmd como dije anteriormente y se lo pasas como el segundo argumento al script.vbs

Ahora ¿como concatenar saltos de línea en batch? ni idea  :xD , pero algo es algo

Saludos  ;)

PD1: Puedes consular el uso con cscript /nologo script.vbs /?


PD2: Este tipo de cosas (y muchas más) aprendes con el manual de vbs de novlucker.


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 14 Abril 2011, 23:29 pm
Muchas gracias por la guía, vamos a ver si me funciona, pero igual gracias por el tiempo xDD!!

Saludos :)


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: Novlucker en 15 Abril 2011, 00:28 am
Creo que si la mayoría lo estas haciendo desde batch, entonces deberías de hacer algo como esto
Código
  1. @echo off
  2. for /f "tokens=*" %%i in ('dir /b') do (echo e=e^&"%%i"^&vbnewline >> %temp%\s.vbs)
  3. echo msgbox e>> %temp%\s.vbs
  4. start /w %temp%\s.vbs
  5. del %temp%\s.vbs

Esto es solo un ejemplo en el cual se muestran los archivos y directorios del path actual, tu tendrías tu lista en lugar de eso.

Saludos


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 15 Abril 2011, 05:42 am
Modifiqué el code de Nov y me funcionó a la perfección xD, era mucho mas fácil de lo que me decía Klaine xDDD.


Muchas gracias de nuevo por la ayuda :)

PD: como puedo colocarle el icono de información al Mensaje?, se que es con vbInformation, pero no se donde colocarlo, porque los otros mensajes que tengo diferentes xDDD.

En fin gracias de nuevo ;D!!


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: Novlucker en 15 Abril 2011, 13:12 pm
Es que klaine proponía crear un vbs reutilizable para mostrar los mensajes pasados por parámetros, el que dejé es más sencillo porque creamos el vbs en cada ejecución :P

Código
  1. echo msgbox e,64>> %temp%\s.vbs

Saludos


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 15 Abril 2011, 22:59 pm
Muchas gracias =)


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: FranciskoAsdf en 22 Abril 2011, 20:06 pm
Tengo unda duda, como puedo hacer para que se muestren varios mensajes cuando la lista es muy larga?

saludos :)


Título: Re: [BATCH-VBS]Pasar datos desde Batch A VBS.
Publicado por: xassiz~ en 22 Abril 2011, 23:19 pm
¿Cada X lineas? Pon tu código actual. :rolleyes: