如何将参数传递给vbscript?

How to pass a parameter to vbscript?

我有一个运行多个 Tor 连接的 vbs:

proxycount = 3
countries = ""

Set FSO = CreateObject("Scripting.FileSystemObject") 
Set f = FSO.OpenTextFile("proxyList.txt", 2, True) 

For i=0 To proxycount-1 Step 1

    Port = 9000 + i
    CPort = 8000 + i

    If Not (countries = "") Then
            countries = " -ExitNodes " & countries
    End If

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "data\tor.exe -f data\torrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory data\torf" & i & countries, 0
    WshShell = Null
    f.WriteLine "127.0.0.1:" & Port 

Next

f.Close 

它工作得很好,但是当我试图将 proxycount 作为参数传递时: CMD 它停止工作:

countries = ""

Set FSO = CreateObject("Scripting.FileSystemObject") 
Set f = FSO.OpenTextFile("proxyList.txt", 2, True) 

For i=0 To WScript.Arguments(0)-1 Step 1

    Port = 9000 + i
    CPort = 8000 + i

    If Not (countries = "") Then
            countries = " -ExitNodes " & countries
    End If

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "data\tor.exe -f data\torrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory data\torf" & i & countries, 0
    WshShell = Null
    f.WriteLine "127.0.0.1:" & Port 

Next

f.Close 

此行有错误 "string 17, symbol 2. Can't find a file":

WshShell.Run "data\tor.exe -f data\torrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory data\torf" & i & countries, 0

我做错了什么?不知道哪里出错了

在开头添加这一行解决了问题:

WshShell.CurrentDirectory = FSO.GetParentFolderName(WSH.ScriptFullName)