2

CLI コマンドvpnclient.exeを実行するために、次の VB スクリプトを作成します。

私の目標は、vpnclcient プロセスを自動化し、質問が表示されたときに「y」と回答することです。

私はWIN XP PCを持っています

CMD ウィンドウで vpnclient.exe を実行しているときに、次の質問が表示されます。

     Do you wish to continue? (y/n):

私のVBでは、この質問に自動的に答えるために「echo y」を書いていますが、質問はまだCMDウィンドウに残っていて、続行できません

私のコードのどこが間違っているのか、それを修正する方法についてアドバイスをお願いします。

MY VB スクリプト (vpnclient.exe – VPN ディレクトリの下に存在)

 Dim oShell
 Set oShell = WScript.CreateObject ("WScript.Shell")
 oShell.run "cmd /K CD C:\Program Files\Cisco\VPN  & ( echo y | vpnclient.exe connect  ""site moon"" )"
    Set oShell = Nothing
4

1 に答える 1

1

パスワードをエコーする代わりに、コマンドラインで実行するコマンドを含むファイルを作成して試すことができます。

次に、必要なコマンドを含むテキスト ファイルを最初に作成し、次にそれらのコマンドをファイルから呼び出す例を示します。

Public Function FTPDownload(serverName, ftpuser, ftppassword, dirPath, localpath, fileName) 
    Dim fso, myfile
    Set fso = CreateObject("Scripting.FileSystemObject")

    'Create FTP.EXE commands file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set myfile= fso.OpenTextFile("C:\Regression\Results\ftp_cmd.ini", 2, True)
    myfile.WriteLine("open " &serverName ) 
    myfile.WriteLine(ftpuser)
    myfile.WriteLine(ftppassword)
    myfile.WriteLine("lcd " & localpath )
    myfile.WriteLine("cd " & dirPath)
    myfile.WriteLine("prompt")
    myfile.WriteLine("cr")
    myfile.WriteLine("mget *" &fileName &"*" )
    myfile.WriteLine("mdelete *" &fileName &"*" )
    myfile.WriteLine("close")
    myfile.WriteLine("quit")
    myfile.Close


    '====================The following code executes the FTP script. It creates a Shell object and run FTP program on top of it.===================
    Set objShell = CreateObject( "WScript.Shell" )
    objShell.Run ("ftp -i -s:" & chr(34) & "C:\Regression\Results\ftp_cmd.ini" & chr(34))
    Set objShell = Nothing

End Function
于 2013-06-28T18:26:02.680 に答える