VB脚本+ VB脚本自动执行CLI命令

时间:2013-06-28 14:21:20

标签: shell vbscript

我编写以下VB脚本以运行CLI命令 - vpnclient.exe

我的目标是自动化vpnclcient进程并在出现问题时回答“y”,

我有WIN XP PC

在CMD窗口中运行vpnclient.exe期间,我们得到以下问题

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

在我的VB中,我写了“echo y”以自动回答这个问题 但问题仍然停留在CMD窗口,我不能继续

请告知我的代码中有什么问题,以及如何修复它?

我的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

1 个答案:

答案 0 :(得分:1)

您可以尝试创建一个包含要在命令行上执行的命令的文件,而不是回显密码。

这是一个示例,首先使用required命令创建文本文件,然后从文件中调用这些命令。

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