这将是一个菜鸟问题..但我想让我的脚本更便携。 比方说,我已经在USB中编写了所有我的.vbs(或任何自然代码中的任何脚本)。 所以我想在当前的机器上运行那个vbs。 USB被分配到F:驱动器
然而,当我拔掉那个usb并坚持使用另一台机器时......它将不再是F:..但它可能是E:G:或者其他什么
我只是想知道如何在不直接在脚本上更改它的情况下克服它,但脚本能够读取它所指向的目录。
我不确定如何调用该属性/功能。
但不胜感激任何提示/提示
答案 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)
我希望有所帮助!