Saltar al contenido

¿Puedo pasar un argumento a un VBScript (archivo vbs lanzado con cscript)?

Nuestro team de redactores ha pasado horas investigando la resolución a tus interrogantes, te brindamos la resolución así que nuestro deseo es que te resulte de gran apoyo.

Puedes usar WScript.Arguments para acceder a los argumentos pasados ​​a su secuencia de comandos.

Llamando al guión:

cscript.exe test.vbs "C:temp"

Dentro de su guión:

Set File = FSO.OpenTextFile(WScript.Arguments(0) &"test.txt", 2, True)

No olvide verificar si realmente se ha pasado un argumento a su secuencia de comandos. Puede hacerlo marcando el Count propiedad:

if WScript.Arguments.Count = 0 then
    WScript.Echo "Missing parameters"
end if

Si su secuencia de comandos finaliza después de cerrar el archivo, no es necesario establecer las variables en Nothing. Los recursos se limpiarán automáticamente cuando termine el proceso cscript.exe. Establecer una variable para Nothing por lo general, solo es necesario si desea liberar recursos explícitamente durante la ejecución de su script. En ese caso, establecería variables que contienen una referencia a un objeto COM para Nothing, que liberaría el objeto COM antes de que termine su secuencia de comandos. Esta es solo una breve respuesta a su pregunta extra, encontrará más información en estas preguntas relacionadas:

¿Existe la necesidad de establecer objetos en nada dentro de las funciones de VBA?

¿Cuándo debo establecer una variable en “Nada” en VB6?

Dentro de VBS puede acceder a los parámetros con

Wscript.Arguments(0)
Wscript.Arguments(1)

y así. El número de parámetro:

Wscript.Arguments.Count

Se puede acceder a cada argumento pasado a través de la línea de comando con: Wscript.Arguments.Item(0) Donde el cero es el número del argumento: es decir, 0, 1, 2, 3, etc.

Así que en tu código podrías tener:

strFolder = Wscript.Arguments.Item(0) 

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile(strFolder, 2, True)
File.Write "testing"
File.Close
Set File = Nothing
Set FSO = Nothing
Set workFolder = Nothing

Usando wscript.arguments.count, puede detectar errores en caso de que alguien no ingrese el valor correcto, etc.

Ejemplos de MS Technet

Si haces scroll puedes encontrar las crónicas de otros sys admins, tú además tienes el poder dejar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *