Как передать параметр в VBScript? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть VBS, который запускает несколько соединений tor:

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 

И это прекрасно работает, но когда я пытаюсь передать прокси-счет в качестве параметра: 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 

с ошибкой «строка 17, символ 2. Не удается найти файл» в этой строке:

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

Что я делаю не так? Я не знаю, где ошибка.

1 Ответ

0 голосов
/ 15 ноября 2018

Добавление этой строки в начале решило проблему:

WshShell.CurrentDirectory = FSO.GetParentFolderName(WSH.ScriptFullName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...