如何将参数传递给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)
我有一个运行多个 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)