[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 9# pcl_test
echo WScript.Sleep 1000这一句的目的是让它等待一秒钟,避免因为网络延迟或者系统延迟造成后面的命令无法正常执行。

TOP

回复 9# pcl_test
  1. set sh=WScript.CreateObject("WScript.Shell")  
  2. WScript.Sleep 300  
  3. sh.SendKeys "open 192.255.64.132"  
  4. sh.SendKeys "{ENTER}"
复制代码
上面这就是临时vbs脚本生成的结果,其中192.255.64.132就是ip.txt文档当中的一条ip地址,每找到一条ip之后程序就会按照这样生成临时vbs并且运行,实现对不同ip的telnet连接,紧接着调用1.vbs里面的脚本进行交换机的配置。
兄弟!咱能不能不要纠结这段代码的运行结果是否正常啊?更何况这个代码没有问题啊,我正常运行了的,
我现在需要的是找到办法修改临时vbs运行以后的后半段代码,就是调用1.vbs的部分,使它能够实现随着前面变量的改变而选择调用不同的vbs脚本

TOP

回复 8# kuishilova

你就单独把这段写进批处理运行下,看看生成的vbs有没缺失代码
  1. echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs && echo WScript.Sleep 300 >>telnet_tmp.vbs && echo sh.SendKeys "open %%i" >>telnet_tmp.vbs && echo WScript.Sleep 1000 …… && echo sh.SendKeys "{ENTER}">>telnet_tmp.vbs && echo WScript.Sleep 1000 ……
复制代码

TOP

回复 7# pcl_test

没省略啊,这是个完整可以正确执行的代码。结果就是按顺序读取ip.txt文档当中的ip地址,然后telnet连接,最后按照1.vbs里面的脚本命令对交换机进行配置。

TOP

本帖最后由 pcl_test 于 2015-1-31 20:55 编辑

回复 6# kuishilova
那就是省略了一些字符啦,因为你的代码最后一个“echo WScript.Sleep 1000 ”有什么用呢?

TOP

回复 5# pcl_test
临时脚本的代码内容就是这一段,没有问题的。这一段代码就是创建临时脚本telnet_tmp.vbs,它能实现的功能就是根据当前的循环变量%%i的变化,每次循环的时候把不同的ip地址写入telnet_tmp.vbs,最后执行telnet_tmp.vbs脚本就可以实现每次循环打开一个不同的ip地址。我原有的完整代码里面,紧接着telnet_tmp.vbs之后就是调用1.vbs。当1.vbs运行结束之后,删除telnet_tmp.vbs,然后进入下一次循环。我希望能做到的是,当进入下一次循环、执行telnet_tmp.vbs以后调用另外一个vbs。
  1. echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs && echo WScript.Sleep 300 >>telnet_tmp.vbs && echo sh.SendKeys "open %%i" >>telnet_tmp.vbs && echo WScript.Sleep 1000 …… && echo sh.SendKeys "{ENTER}">>telnet_tmp.vbs && echo WScript.Sleep 1000 ……&& start telnet && cscript //nologo telnet_tmp.vbs
复制代码

TOP

回复 3# kuishilova
你没懂我问的意思,从你发的代码看,不知是不是你省略了一些字符,因为telnet_tmp.vbs的生成是有问题的,所以才问你要telnet_tmp.vbs的完整代码,至于1.vbs,自然是了解只是调用,所以我根本就没问它里面是什么内容

TOP

回复 2# pcl_test
这一段就是临时的vbs代码,实现的是按顺序读取ip.txt文档内的每一个ip,然后用telnet连接。紧接着这段临时代码之后就是调用1.vbs,这个文件里面就是具体的交换机配置命令
  1. echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs && echo WScript.Sleep 300 >>telnet_tmp.vbs && echo sh.SendKeys "open %%i" >>telnet_tmp.vbs && echo WScript.Sleep 1000 …… && echo sh.SendKeys "{ENTER}">>telnet_tmp.vbs && echo WScript.Sleep 1000 ……&& start telnet && cscript //nologo telnet_tmp.vbs
复制代码

TOP

本帖最后由 kuishilova 于 2015-1-31 20:17 编辑

回复 2# pcl_test

临时的vbs脚本就是在我帖子最后贴出来的代码前面一半,后面的具体配置命令在1.vbs文件内,根据交换机不同,是不一样的,我的目的只是利用批处理调用它们,所以它们的具体内容是什么在这里不重要。
比如我这个代码里面,每次从IP.txt文档里读取一个ip(每个ip一行),就按顺序执行后面的脚本,最后调用“1.vbs”里面的脚本代码,这样的结果就是所有交换机都进行了相同的配置(即1.vbs文件里面的脚本),但我是希望实现读取第一个ip之后调用“1.vbs”,读取第二个ip之后调用“2.vbs”,第三个ip调用“3.vbs”.....这样一个循环。

TOP

回复 1# kuishilova

1、临时vbs的代码一样吧,除了ip不同外?
2、把临时vbs的代码发出来

TOP

返回列表