如何使我的脚本可移植 vbs

how to make my scripts portable vbs

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

然而,当我拔下 USB 并连接到另一台机器时..它将不再是 F:..但它可能是 E: G: 或其他任何东西

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

我不确定 property/functionality 是如何调用的。

但会感激任何 hints/tips

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

第一个,也可能是最适合您的用例的方法是检查您的可执行文件 运行 在哪个驱动器上,方法是使用 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)

希望对您有所帮助!