Test Foro de elhacker.net SMF 2.1

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

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 (vb) [Seleccionar]


select case wscript.arguments(0)
case "/?"
call help
case else
call selmsg
end select

sub selmsg

dim c
c=0

for each var in wscript.arguments
c = c + 1
next

select case c

case 1
call msg1
case 2
call msg2
case 3
call msg3

end select

end sub

sub msg1
msgbox wscript.arguments(0)
end sub

sub msg2

dim icon
icon = 0

select case wscript.arguments(1)

case 0
icon = 0
case 1
 icon = vbcritical
case 2
icon = vbinformation
case 3
icon = 48
case 4
icon = vbquestion
end select

msgbox wscript.arguments(0), icon
end sub

sub msg3

dim icon
icon = 0

select case wscript.arguments(1)

case 0
icon = 0
case 1
 icon = vbcritical
case 2
icon = vbinformation
case 3
icon = 48
case 4
icon = vbquestion
end select

msgbox wscript.arguments(0), icon, wscript.arguments(2)
end sub

sub help
wscript.echo "Uso:"
wscript.echo "Cscript /nologo msg.vbs [Mensaje] [Tipo] [Titulo]"
wscript.echo "[Mensaje]: Prompt para el cuadro de dialogo"
wscript.echo "[Tipo]: Tipo de icono "
wscript.echo "0 - Sin icono"
wscript.echo "1 - Error"
wscript.echo "2 - Informacion"
wscript.echo "3 - Advertencia"
wscript.echo "4 - Pregunta"
wscript.echo "Para pasar un argumento, el argumento anterior debe ser declarado,"
wscript.echo "por ejemplo, si se pone un icono y se omite el Mensaje"
wscript.echo "el mensaje sera la opcion ingresada para el icono"
wscript.echo ""
end sub


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

Código (dos) [Seleccionar]

cscript /nologo <ruta_del_archivo>.vbs <argumento_1> <argumento_2> <argumento_3>


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 (dos) [Seleccionar]
@echo off
for /f "tokens=*" %%i in ('dir /b') do (echo e=e^&"%%i"^&vbnewline >> %temp%\s.vbs)
echo msgbox e>> %temp%\s.vbs
start /w %temp%\s.vbs
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 (dos) [Seleccionar]
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: