如何使我的脚本可移植vbs

时间:2016-06-10 04:05:51

标签: windows vbscript coding-style

这将是一个菜鸟问题..但我想让我的脚本更便携。 比方说,我已经在USB中编写了所有我的.vbs(或任何自然代码中的任何脚本)。 所以我想在当前的机器上运行那个vbs。 USB被分配到F:驱动器

然而,当我拔掉那个usb并坚持使用另一台机器时......它将不再是F:..但它可能是E:G:或者其他什么

我只是想知道如何在不直接在脚本上更改它的情况下克服它,但脚本能够读取它所指向的目录。

我不确定如何调用该属性/功能。

但不胜感激任何提示/提示

1 个答案:

答案 0 :(得分:2)

有两种主要方法可以让您的脚本更具可移植性。

第一个,也可能是最适合您的用例,是使用WScript.ScriptFullName检查运行可执行文件的驱动器,并获取前三个字符以查找驱动器号。您也可以在最后删除脚本名称(WScript.ScriptName)以查找当前工作目录。将其分配给变量,并在您指定路径的代码中的任何位置使用它。

Dim fullname : fullname = WScript.ScriptFullName
Dim drive : drive = Mid(fullname, 1, 3)
Dim path : path = Mid(fullname, 1, Len(fullname) - Len(WScript.ScriptName))
WScript.Echo "Drive = " & drive & vbcrlf & "Path = " & path

另一种方法是让您的脚本期望用户run-time arguments,这样您就可以准确指定要执行的操作。

' Make a shortcut to your script and add a parameter,
' Or run from the command prompt with an additional parameter.
If WScript.Arguments.Length = 0 Then
    WScript.Echo "No arguments supplied!"
    WScript.Quit
End If

WScript.Echo WScript.Arguments(0)

我希望有所帮助!