3

私はVBスクリプトの初心者です。実際には、アプリケーション サーバーのいくつかの telnet コマンドを実行したいと考えています。

クライアント PC (OS:- Windows server 2003) でその VB スクリプトを実行しています。スクリプトはうまく機能しています。

問題は、telnet が VB スクリプトを介して実行されている間、他に何もできないことです。

パソコン。そして、そのスクリプトをバックエンドで実行したい。つまり、サイレント モードです。

以下は、私が使用しているVBコードです。

set oShell = CreateObject("WScript.Shell")
oShell.run"cmd.exe"
WScript.Sleep 500
oShell.SendKeys"telnet x.x.x.x -f roamingsubscriber.txt"
oShell.SendKeys("{Enter}")
WScript.Sleep 1500
oShell.SendKeys"username"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
oShell.SendKeys"password"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
oShell.SendKeys"command"
oShell.SendKeys("{Enter}")
WScript.Sleep 1000
oShell.SendKeys"command"
oShell.SendKeys("{Enter}")
WScript.Sleep 1000
...
4

2 に答える 2

1

http://www.dimac.net/default3.asp?M=FreeDownloads/Menu.asp&P=FreeDownloads/FreeDownloadsstart.aspこの種のことを行う無料の ActiveX コンポーネントについては、このサイトを参照してください。ここにAPIがあります

http://www.dimac.net/products/freeproducts/w3sockets/reference/refstart.htm

ここにいくつかのサンプルコード

Set oSocket = WScript.CreateObject("Socket.TCP")
oSocket.DoTelnetemulation = True
osocket.Timeout = 1000
oSocket.Host = "host.somewhere.com" & ":" & 80
oSocket.Open
oSocket.SendLine("GET /" & vbCrLf)
data = oSocket.GetLine
If (Instr(data, "yourtest")) then
    ' doSomething
End if
oSocket.Close
于 2012-09-24T11:24:19.617 に答える
0

コンソール ウィンドウを作成せずにプロセスを開始し、その入力と出力をパイプ経由でパイプするActiveXコンポーネントを見つけるか開発するまで、タスクを達成する方法はありません。telnet少なくともそのWScript.Shellような機能は提供しません。

于 2012-09-22T19:29:22.487 に答える