Я нашел скрипт, который соответствует моим потребностям. Тем не менее, я хотел бы улучшить его.Как я могу обрабатывать аргументы
Это сценарий:
strSSH = "C:\Program Files (x86)\PuTTY\putty.exe"
strSSHidentity1 = "C:\id_rsa.ppk"
strSSHidentity2 = "C:\id_dsa.ppk"
Select Case WScript.Arguments.Count
Case 0
WScript.Echo "No hostname provided. Aborting SSH operation."
WScript.Quit
Case Else
Set colArgs = WScript.Arguments
For i = 0 To WScript.Arguments.Count - 1
strHost = " " & WScript.Arguments.Item(i)
Next
End Select
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """" & strSSH & """ """ & CleanHostname(strHost) & """ """ & "-i" & """ """ & strSSHidentity1 & """ """ & "-i" & """ """ & strSSHidentity1 & """"
WScript.Quit
Function CleanHostname(strHost)
strHost = Trim(strHost)
'Remove protocol if it was passed
If InStr(strHost, "ssh://") = 1 Then
strHost = Right(strHost, Len(strHost) - 6)
End If
'Remove trailing slash if present
If InStrRev(strHost, "/") = Len(strHost) Then
strHost = Left(strHost, Len(strHost) - 1)
End If
'Return cleaned hostname
CleanHostname = strHost
End Function
Я использую его, чтобы включить SSH: // гиперссылкой. Как его изменить, чтобы он принимал больше аргументов, предоставленных пользователем в командной строке, чем просто имя хоста? (-p 22
) например.
Примеры требуемой мощности:
CMD:
wscript ssh.vbs ssh://[email protected] -p 22 -i my_key.ppk
бы в конечном итоге запустить:
"C:\Program Files (x86)\PuTTY\putty.exe" myhost -i C:\id_rsa.ppk -i C:\id_dsa.ppk -p 22 -i my_key.ppk
Спасибо!
ТНХ. Я сделал несколько более четких запросов на выходные изменения. –