我有一个运行多个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 "datator.exe -f datatorrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory datatorf" & 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 "datator.exe -f datatorrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory datatorf" & i & countries, 0
WshShell = Null
f.WriteLine "127.0.0.1:" & Port
Next
f.Close
带错误"字符串17,符号2。在这一行找不到文件":
WshShell.Run "datator.exe -f datatorrc -SocksPort " & Port & " -ControlPort " & CPort & " -DataDirectory datatorf" & i & countries, 0
我做错了什么?我不知道错误在哪里。
在开头添加此行修复了问题:
WshShell.CurrentDirectory = FSO.GetParentFolderName(WSH.ScriptFullName)