Test Foro de elhacker.net SMF 2.1

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:

cscript.exe download.vbs [url] [output]

Aplicandolo a un código simple como el siguiente:

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
Cita de: Hartwell en 16 Agosto 2014, 21:33 PMQuisiera 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 (vb) [Seleccionar]
Set Arguments = WScript.Arguments

If Arguments.Count <> 2 Then
  WScript.Echo "Cantidad de parámetros incorrecta."
  WScript.Quit(1)

Else
  strSource = WScript.Arguments(0)
  strDest = WScript.Arguments(1)
  ' Resto del código aquí...
 
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]?

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
Cita de: Hartwell en 16 Agosto 2014, 22:04 PMY 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:
%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!