我编写以下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
答案 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