标题: 请教一个dos下自动telnet的批处理问题
[打印本页]
作者: wuwen624
时间: 2007-6-21 13:19
标题: 请教一个dos下自动telnet的批处理问题
想写一个可以自动telnet到服务器上执行命令的批处理文件,不知道应该用什么办法实现,在unix下实验可以执行,但是按照dos的改了一下不能用,批处理的内容例子如下
例如文件名为test.bat
echo user
ping -n 3 xx.xx.xx.xx>nul
echo passwd
echo commana
.........
执行的时候用test.abt|telnet xx.xx.xx.xx
执行后抱错是“过程试图写入的管道不存在”
不知道在dos下如何可以实现自动的telnet登陆脚本,先谢谢了!
作者: zasxcdfv
时间: 2007-6-21 13:44
标题: 网上找的
rem =========Yobo-lily版权=======
@del c:\temp.vbs
@echo on error resume next >>c:\temp.vbs
@echo dim WshShell>>c:\temp.vbs
@echo Set WshShell = WScript.CreateObject("WScript.Shell")>>c:\temp.vbs
@echo WshShell.run"cmd">>c:\temp.vbs
@echo WshShell.AppActivate"c:\windows\system32\cmd.exe">>c:\temp.vbs
@echo WScript.Sleep 200>>c:\temp.vbs
@echo WshShell.SendKeys"telnet 192.168.1.100">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 100>>c:\temp.vbs
@echo WshShell.AppActivate"telnet.exe ">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"aaa">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"111">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"ping 192.168.0.1">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 1000>>c:\temp.vbs
@echo WshShell.SendKeys"ping 192.168.0.2">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 1000>>c:\temp.vbs
@call c:\temp.vbs
rem =========Yobo-lily版权=======
作者: HAT
时间: 2007-6-21 16:21
发个我自己用的
@echo off
rem 假设服务器地址为aaa
rem 假设用户名为bbb
rem 假设密码为ccc
echo Set WshShell = CreateObject("WScript.Shell")>%tmp%\TelDelphi1.vbs
echo WshShell.Run "telnet aaa">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(5000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "bbb{enter}">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(1000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "ccc{enter}">>%tmp%\TelDelphi1.vbs
start cscript /nologo %tmp%\TelDelphi1.vbs
ping -n 10 127.1>nul
del /q %tmp%\TelDelphi1.vbs
作者: zasxcdfv
时间: 2007-6-21 16:29
Originally posted by HAT at 2007-6-21 04:21 PM:
发个我自己用的
@echo off
rem 假设服务器地址为aaa
rem 假设用户名为bbb
rem 假设密码为ccc
echo Set WshShell = CreateObject("WScript.Shell")>%tmp%\Te ...
学习~
作者: wuwen624
时间: 2007-6-24 10:35
看来解决的办法好像没有纯命令行的方式,谢谢各位的帮助
作者: wuwen624
时间: 2007-6-24 10:40
我试验了一下,确实可以登录到服务器了,但是我的问题是,登录到服务器后要实行服务器上的一些脚本或者命令然后返回,能不能请大家再帮忙以下,说明一下在类似楼上两位提供的脚本中,该怎么自动调用服务器段的命令或者是程序呢?谢谢了
作者: bob1989
时间: 2007-6-24 11:19
他们都是用控制键盘输入达到目的的
要是服务器卡一下就会出错的啊``
其实这个问题我也想了很久```
现在还没解决``
呵呵 ` `
作者: HAT
时间: 2007-6-24 16:02
//但是我的问题是,登录到服务器后要实行服务器上的一些脚本或者命令然后返回
可以在登陆之后执行脚本或者命令的
只需在用户名和密码后面继续SendKeys就行了
作者: duanml
时间: 2007-6-24 20:01
1000 就够了吗?
起码5000 吧?
这个也只能在有正常位置cmd的上,很多时候cmd不放在默认和被path目录里的。而且不是nt系列的就没用了,用command的也没用的。
作者: HAT
时间: 2007-6-25 12:44
send username的时候我用的5000
send password的时候用的1000
这样的搭配在我用过的7台unix server上表现良好
作者: 176557234
时间: 2009-2-23 12:39
标题: 你的有一段 TELNET代码我看见了 想请教
你的有一段 TELNET代码我看见了 想请教 我的QQ176557234
作者: everest79
时间: 2009-2-23 19:24
非人工登录可以使用WSH中的Exec方法,通过对status\stdin\stdout属性的控制达到无错自动化执行的要求
作者: laopo
时间: 2009-2-24 15:33
学习学习一下
作者: xycoordinate
时间: 2009-7-7 03:38
Originally posted by everest79 at 2009-2-23 19:24:
非人工登录可以使用WSH中的Exec方法,通过对status\stdin\stdout属性的控制达到无错自动化执行的要求
<img src="images/smilies/face-cool.png" align="absmiddle" border="0">
具体是怎么样的?
作者: xycoordinate
时间: 2009-7-8 22:45
rem =========Yobo-lily版权=======
@del c:\temp.vbs
@echo on error resume next >>c:\temp.vbs
@echo dim WshShell>>c:\temp.vbs
@echo Set WshShell = WScript.CreateObject("WScript.Shell")>>c:\temp.vbs
@echo WshShell.run"cmd">>c:\temp.vbs
@echo WshShell.AppActivate"c:\windows\system32\cmd.exe">>c:\temp.vbs
@echo WScript.Sleep 200>>c:\temp.vbs
@echo WshShell.SendKeys"telnet 192.168.1.100">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 100>>c:\temp.vbs
@echo WshShell.AppActivate"telnet.exe ">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"aaa">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"111">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 2000>>c:\temp.vbs
@echo WshShell.SendKeys"ping 192.168.0.1">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 1000>>c:\temp.vbs
@echo WshShell.SendKeys"ping 192.168.0.2">>c:\temp.vbs
@echo WshShell.SendKeys"{ENTER}">>c:\temp.vbs
@echo WScript.Sleep 1000>>c:\temp.vbs
@call c:\temp.vbs
rem =========Yobo-lily版权=======
如果有多台机器,如何BAT处理???
好像用FOR命令,有点问题!!!
作者: xycoordinate
时间: 2009-7-10 05:41