中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 04:35
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教一个dos下自动telnet的批处理问题
可打印版本  2,535 / 15
第1楼 wuwen624 发表于 2007-06-21 13:19
初级用户 发帖 8 积分 20
请教一个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登陆脚本,先谢谢了!
第2楼 zasxcdfv 发表于 2007-06-21 13:44
初级用户 发帖 75 积分 152
网上找的
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版权=======
第3楼 HAT 发表于 2007-06-21 16:21
版主 发帖 5,017 积分 9,023
发个我自己用的
第4楼 zasxcdfv 发表于 2007-06-21 16:29
初级用户 发帖 75 积分 152
Originally posted by HAT at 2007-6-21 04:21 PM:
发个我自己用的
第5楼 wuwen624 发表于 2007-06-24 10:35
初级用户 发帖 8 积分 20
看来解决的办法好像没有纯命令行的方式,谢谢各位的帮助
第6楼 wuwen624 发表于 2007-06-24 10:40
初级用户 发帖 8 积分 20
我试验了一下,确实可以登录到服务器了,但是我的问题是,登录到服务器后要实行服务器上的一些脚本或者命令然后返回,能不能请大家再帮忙以下,说明一下在类似楼上两位提供的脚本中,该怎么自动调用服务器段的命令或者是程序呢?谢谢了
第7楼 bob1989 发表于 2007-06-24 11:19
中级用户 发帖 144 积分 322
他们都是用控制键盘输入达到目的的
要是服务器卡一下就会出错的啊``

其实这个问题我也想了很久```
现在还没解决``
呵呵 ` `
第8楼 HAT 发表于 2007-06-24 16:02
版主 发帖 5,017 积分 9,023
//但是我的问题是,登录到服务器后要实行服务器上的一些脚本或者命令然后返回

可以在登陆之后执行脚本或者命令的
只需在用户名和密码后面继续SendKeys就行了
第9楼 duanml 发表于 2007-06-24 20:01
中级用户 发帖 112 积分 231
1000 就够了吗?

起码5000 吧?

这个也只能在有正常位置cmd的上,很多时候cmd不放在默认和被path目录里的。而且不是nt系列的就没用了,用command的也没用的。
第10楼 HAT 发表于 2007-06-25 12:44
版主 发帖 5,017 积分 9,023
send username的时候我用的5000
send password的时候用的1000
这样的搭配在我用过的7台unix server上表现良好
第11楼 176557234 发表于 2009-02-23 12:39
新手上路 发帖 1 积分 1
你的有一段 TELNET代码我看见了 想请教
你的有一段 TELNET代码我看见了 想请教 我的QQ176557234
第12楼 everest79 发表于 2009-02-23 19:24
金牌会员 发帖 1,127 积分 2,564
非人工登录可以使用WSH中的Exec方法,通过对status\stdin\stdout属性的控制达到无错自动化执行的要求
第13楼 laopo 发表于 2009-02-24 15:33
新手上路 发帖 1 积分 1
学习学习一下
第14楼 xycoordinate 发表于 2009-07-07 03:38
中级用户 发帖 228 积分 493 来自 安徽
Originally posted by everest79 at 2009-2-23 19:24:
非人工登录可以使用WSH中的Exec方法,通过对status\stdin\stdout属性的控制达到无错自动化执行的要求




具体是怎么样的?
第15楼 xycoordinate 发表于 2009-07-08 22:45
中级用户 发帖 228 积分 493 来自 安徽
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命令,有点问题!!!
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023