首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安排.vbs文件在Windows中运行

安排.vbs文件在Windows中运行
EN

Stack Overflow用户
提问于 2008-11-12 14:58:35
回答 5查看 22.3K关注 0票数 1

我有一个VBScript脚本,启动命令提示,远程登录到设备和TFTP的配置到服务器。它的工作时,我登录并手动运行它。我想用Windows Task Scheduler自动化它。

任何帮助都将不胜感激,以下是VBScript脚本:

代码语言:javascript
复制
set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "cmd" 
WScript.Sleep 100 
WshShell.AppActivate "C:\Windows\system32\cmd.exe" 
WScript.Sleep 300 
WshShell.SendKeys "telnet 10.20.70.254{ENTER}" 
WScript.Sleep 300 
WshShell.SendKeys "netscreen" 
WScript.Sleep 300 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 300
WshShell.SendKeys "netscreen" 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 300 
WScript.Sleep 300 
WshShell.SendKeys "save conf to tftp 10.10.40.139 test.cfg{ENTER}"
WScript.Sleep 200 
WshShell.SendKeys "exit{ENTER}" 'close telnet session' 
set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "cmd" 
WScript.Sleep 100 
WshShell.AppActivate "C:\Windows\system32\cmd.exe" 
WScript.Sleep 300 
WshShell.SendKeys "telnet 10.20.70.254{ENTER}" 
WScript.Sleep 300 
WshShell.SendKeys "netscreen" 
WScript.Sleep 300 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 300
WshShell.SendKeys "netscreen" 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 300 
WScript.Sleep 300 
WshShell.SendKeys "save conf to tftp 10.10.40.139 palsg140.cfg{ENTER}" 'repeat as needed 
WScript.Sleep 200 
WshShell.SendKeys "exit{ENTER}" 'close telnet session' 
WshShell.SendKeys "{ENTER}" 'get command prompt back 
WScript.Sleep 200 
WshShell.SendKeys "exit{ENTER}" 'close cmd.exe

WshShell.SendKeys "{ENTER}" 'get command prompt back 
WScript.Sleep 200 
WshShell.SendKeys "exit{ENTER}" 'close cmd.exe
EN

回答 5

Stack Overflow用户

发布于 2008-11-12 15:02:34

添加使用您的凭据运行脚本的计划任务。提醒自己,每次更改密码时都需要更新任务的凭据。让脚本在每次运行时通过电子邮件或其他方式“呼叫总部”是一个好主意,这样您就可以知道它是否正在执行。

为这些类型的活动设置单独的服务id也可能是一个好主意。您可能不需要频繁地更改服务id上的密码。

票数 4
EN

Stack Overflow用户

发布于 2008-11-12 17:46:48

我很确定如果桌面被锁定或者没有用户登录,SendKeys将无法工作。

票数 1
EN

Stack Overflow用户

发布于 2008-11-17 14:09:03

我很抱歉,如果你没有登录,SendKeys将无法工作。根据我的经验,这是不可靠的。使用DOS批处理文件可能会更好。

getftpconf.bat:

代码语言:javascript
复制
telnet 10.10.40.139
netscreen
netscreen
save conf to tftp 10.10.40.139 palsg140.cf
exit

差不多吧。

如果在命令提示符下有需要记录的输出,可以在命令行快捷方式的末尾添加“>> output.txt”。

然后,您可以调用另一个批处理文件,通过ftp将该output.txt发送到您需要的任何位置。

您可以轻松地将此批处理文件设置为在windows中作为计划任务运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/284201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档