Board logo

标题: 求脚本中telnet类似ftp -s:的调用命令 [打印本页]

作者: lililulula     时间: 2007-4-17 04:07    标题: 求脚本中telnet类似ftp -s:的调用命令

请问在telnet模式下如何实现类似ftp -s:filename.txt的调用命令?
批处理脚本中是否有这样的调用命令?
作者: 3391617     时间: 2007-4-17 05:42
ftp -s:
上传ftp?
作者: lililulula     时间: 2007-4-17 06:03
顶一下,回楼上,是调用登陆文本,哪位大大知道telnet跟什么参数能够调用登陆文本?
作者: lililulula     时间: 2007-4-17 22:31
如果有朋友知道还请帮忙,是否有类似ftp -s的telnet参数?
作者: vkill     时间: 2007-4-18 00:24
不知道,我用nc
作者: lililulula     时间: 2007-4-18 00:46
请问vkill兄,nc是???
作者: everest79     时间: 2007-4-18 01:09
单纯的telnet不带有这个功能,是有文件支持,不过需要相应的本地化与远程配置
nc听说是黑客用的,嘿嘿
作者: flyinspace     时间: 2007-4-18 01:12
nc也不能单纯的说是黑客用的。

这个软件不带帮助信息。。但可以帮忙处理好多事情呢。
比windows自带的好用很多。

可以说是必备的武器:)
作者: lililulula     时间: 2007-4-18 01:27
谢谢以上朋友的解释,也就是说我现在无法用批处理脚本实现telnet的shell自动执行,是吗?如果有方法可以实现,请指点一二,谢谢
作者: everest79     时间: 2007-4-18 01:31
win下你可以用VBS脚本来登录

我这里找到一个,你可以看看
tel.cmd
@ECHO OFF
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 注意:即将开始远程批配置请关闭其它可执行程序
ECHO 注意:配置过程中不要使用鼠标及键盘
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 按任意键开始EIA远程批配置
pause>nul
for /f %%i in (list.txt) do start telnet 202.76.56.107 && cscript //nologo telsvr.vbs %%i && echo %%i done!>>log.txt

ECHO 批量配置完成
pause>nul

telsh.vbs
set tel=WScript.CreateObject("WScript.Shell")
temp=WScript.Arguments.Item(0)
WScript.Sleep 5000
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500
tel.SendKeys "en{ENTER}"
WScript.Sleep 1500
tel.SendKeys "+6"
tel.SendKeys "config{ENTER}"
WScript.Sleep 1500
tel.SendKeys "proxy "
tel.SendKeys temp
tel.SendKeys "{ENTER}"
WScript.Sleep 3000
tel.SendKeys "en{ENTER}"
WScript.Sleep 2000
tel.SendKeys "me{ENTER}"
WScript.Sleep 3000
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "Y{ENTER}"
WScript.Sleep 1500
tel.SendKeys "212.172.165.136{ENTER}"
WScript.Sleep 2000
tel.SendKeys "61{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "{ENTER}"
WScript.Sleep 1500
tel.SendKeys "Y{ENTER}"
WScript.Sleep 1500
tel.SendKeys "exit{ENTER}"
WScript.Sleep 1500
tel.SendKeys "exit{ENTER}"
WScript.Sleep 1500
tel.SendKeys "exit{ENTER}"
WScript.Sleep 1500
作者: lililulula     时间: 2007-4-18 02:46
谢谢everest79的帮助,东西我慢慢研究下,我之前几个批也请教了几个vbs,看来批和vbs同在才能解决问题啊.
作者: siai88     时间: 2007-4-18 03:45
啊看了   不过没看懂啊
作者: lililulula     时间: 2007-4-18 04:12
前面实验了下,没有成功,有几点疑问还想问下everest79兄
for /f %%i in (list.txt) do start telnet 202.76.56.107 && cscript //nologo telsvr.vbs %%i && echo %%i done!>>log.txt
其中list.txt什么作用?代码中无list.txt内容
如果for /f %%i in ('"cscript //nologo telsvr.vbs"') do start telnet 202.76.56.107
是否就是调用了telsvr.vbs中的登陆命令telnet登陆?
作者: everest79     时间: 2007-4-18 09:51
这个是批量修改EOIP设备的,list.txt是远程设备列表,我可没有的,要不然不是发大了,你可以直接执行
telnet IP &&cscript //nologo telsvr.vbs
后边的参数也不需要,那是用来传递设备名称的
这个因为对窗口敏感,建议在执行时不要再执行其它操作
简单的方法是你打开一个记事本,然后双击VBS脚本,并将记事本窗口激活,这样就可以测试了
作者: lililulula     时间: 2007-4-18 22:39
everest79兄简单测试 我已经成功,但是执行telnet IP &&cscript //nologo telsvr.vbs
理论上我所有文本或可输入窗口都关闭的话,这句应该是达到能够以vbs内容自动登陆telnet的效果,但是我好象没成功,telnet后并未自动执行vbs登陆命令,还有就是vbs第二句会报下标越界的错误,此句去除可以正常执行,不知道此句的作用.
作者: lililulula     时间: 2007-4-19 02:29
顶一下,everest79兄看到还请帮忙
作者: lililulula     时间: 2007-4-19 03:39
问题我已经解决了 vbs脚本中设置cmd程序路径然后执行,vbs脚本运行指定命令,但是有个问题是当输入指令中含有"("和")"符号时无法正确输入,不知道有什么办法解决没有.~~
作者: lililulula     时间: 2007-4-19 04:00
找了些资料看了看,输入问题也解决了.在此要谢谢 everest79兄之前的帮助
作者: everest79     时间: 2007-4-19 09:53
啊哈,你17的方法是什么,详细说一下,含有""的指令最简单的方法是以变量来保存,再调用
作者: lililulula     时间: 2007-4-19 22:22
CMDPath="C:\WINNT\system32\CMD.EXE"
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run CMDPath

这样可以很好的解决窗口敏感的问题,其实也很简单,当然很使用.
可以用这个方法出来解决很多需要输入用户名密码的软件进行自动登陆,用途广泛.
在vbs SendKey功能的符号问题我指的是在telnet下显示括号问题,不过现在已经解决,感觉批脚本和vbs脚本合用可谓是前途无量啊~~~~
作者: xycoordinate     时间: 2009-7-10 05:35


  Quote:
tel.cmd
@ECHO OFF
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 注意:即将开始远程批配置请关闭其它可执行程序
ECHO 注意:配置过程中不要使用鼠标及键盘
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 按任意键开始EIA远程批配置
pause>nul
for /f %%i in (list.txt) do start telnet 202.76.56.107 && cscript //nologo telsvr.vbs %%i && echo %%i done!>>log.txt

ECHO 批量配置完成
pause>nul

telsh.vbs
set tel=WScript.CreateObject("WScript.Shell")
temp=WScript.Arguments.Item(0)
WScript.Sleep 5000
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500

红色处,好像有错误!?

修改+补充

  Quote:
tel.cmd
@ECHO OFF
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 注意:即将开始远程批配置请关闭其它可执行程序
ECHO 注意:配置过程中不要使用鼠标及键盘
ECHO .
ECHO .
ECHO .
ECHO .
ECHO 按任意键开始EIA远程批配置
pause>nul
for /f %%i in (list.txt) do start telnet %%i && cscript //nologo telsvr.vbs %%i && echo %%i done!>>log.txt

ECHO 批量配置完成
pause>nul

telsvr.vbs
set tel=WScript.CreateObject("WScript.Shell")
temp=WScript.Arguments.Item(0)
WScript.Sleep 5000
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500
tel.SendKeys "admin{ENTER}"
WScript.Sleep 1500

list.txt
192.168.0.1
192.168.0.2
192.168.0.3
……
根据实际情况,修改list.txt

[ Last edited by xycoordinate on 2009-7-10 at 05:50 ]