Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Hartwell en 16 Agosto 2014, 21:33 pm



Título: [VBS] Utilizar parámetros desde línea de comandos?
Publicado por: Hartwell en 16 Agosto 2014, 21:33 pm
Hola,

Quisiera saber si es posible ejecutar un vbscript desde cmd utilizando parámetros.

Por ejemplo, quiero descargar un archivo y mi idea es ejecutar la siguiente linea:

Código:
cscript.exe download.vbs [url] [output]

Aplicandolo a un código simple como el siguiente:

Código:
strSource = "http://www.google.com/images/logo.gif"
strDest = "c:\logo.gif"
set HTTP = CreateObject("Microsoft.XMLHTTP")
HTTP.open "GET", strSource, False
HTTP.send
set Stream = createobject("adodb.stream")
Const adTypeBinary = 1
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2
Stream.type = adTypeBinary
Stream.open
Stream.write HTTP.responseBody
Stream.savetofile strDest, adSaveCreateOverWrite
set Stream = nothing
set HTTP = nothing

La finalidad no es para malware, pero supongo que aquí me pueden ayudar.

Saludos.


Título: Re: [VBS] Utilizar parámetros desde línea de comandos?
Publicado por: Eleкtro en 16 Agosto 2014, 21:57 pm
Quisiera saber si es posible ejecutar un vbscript desde cmd utilizando parámetros.

Si, se puede.

Arguments Property (WScript Object) (http://msdn.microsoft.com/en-us/library/z2b05k8s%28v=vs.84%29.aspx)

Código
  1. Set Arguments = WScript.Arguments
  2.  
  3. If Arguments.Count <> 2 Then
  4.   WScript.Echo "Cantidad de parámetros incorrecta."
  5.   WScript.Quit(1)
  6.  
  7. Else
  8.   strSource = WScript.Arguments(0)
  9.   strDest = WScript.Arguments(1)
  10.   ' Resto del código aquí...
  11.  
  12. End If

Saludos.


Título: Re: [VBS] Utilizar parámetros desde línea de comandos?
Publicado por: Hartwell en 16 Agosto 2014, 22:04 pm
Buenísimo!

Y cómo sería el %1 y %2 para reemplazar [url] y [output]?

Código:
strSource = "[url]"
strDest = "[output]"

Me podrías dar un ejemplo por favor.


Título: Re: [VBS] Utilizar parámetros desde línea de comandos?
Publicado por: Eleкtro en 16 Agosto 2014, 22:37 pm
Y cómo sería el %1 y %2 para reemplazar [url] y [output]?

Me podrías dar un ejemplo por favor.

Arriba te puse el ejemplo mostrándote como se asignarían los argumentos a esas variables... ¿lo has mirado?.

Respecto a las variables especiales %1 y %2 de Batch, porfavor, olvída ese modo de ver las cosas en la programación, de todas formas este es el equivalente:
Código:
%1 = WScript.Arguments(0)
%2 = WScript.Arguments(1)

Saludos!


Título: Re: [VBS] Utilizar parámetros desde línea de comandos?
Publicado por: Hartwell en 16 Agosto 2014, 23:21 pm
Es verdad, que despistado... Muchas gracias!