[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理如何将telnet下屏显内容自动复制到txt文本中?

如题。比如,我telnet到交换机上,想将show run下显示的内容复制到指定txt文件中,谢谢了。

这个命令不熟悉。应该用重定向到文本文件可以实现的吧
Still with wax

TOP

show run命令只是交换机中的一个基本命令,它的作用是显示当前运行交换机的配置情况,我的目的就是想将show run 命令下显示的内容保存到指定文件中。

TOP

cmd,估计干不了这活。。除非,有什么命令行工具,让它有这功能。。。。

建议用 crt,配合vbs脚本。。实现自动化处理这些东西。。。更方便

TOP

@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "open IP地址" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "密码{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "en{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "密码{ENTER}">>telnet_tmp.vbs
start telnet
cscript //nologo telnet_tmp.vbs
del telnet_tmp.vbs
上述批处理可以正常登陆交换机,但不知道应该怎么写才能达到自己的要求。

TOP

呵呵,你的级别应该比我高,懂交换机还会VBscript。小菜我无能为力啦
Still with wax

TOP

回复 1楼 的帖子

telnet链接到交换机后,用show run命令查看信息。
telnet是可以在电脑中运行的命令,show run是在交换机操作系统支持下的命令。
所以说在电脑中的>或>>重定向命令,在交换机操作系统可能不支持。
就是VBS也是基于WINDOWS操作系统,而交换机有自己独立的操作系统。
你一定要弄清楚这个概念。
(*^_^*)

TOP

新来的

不知道是不是这样呢;
show run >>run.txt

TOP

7楼说的对,这个问题不是用vb 或bat 的问题,那个能那个不能的问题。

而是汲及到两个操作系统, telnet  是windows命令,运行它的时候还处于windows状态,归windows 管。
telnet 上去了以后就变了。此时是交换机里边的操作系统,可能是linux,也可能是其他系统。只能使用交换机自己提供的命令比如shou run, show interface 等,它不归windows管。即使交换机系统也提供> >>run.txt支持,但run.txt 也是保存在交换机的空间里,而不是你自己的电脑硬盘上。

如果某个子程序可以 telnet 上去以后自动处理生成,并且结果返回并退出到windows ,

然后就bat 调用它。也许可以完成所需功能。

[ 本帖最后由 inittab 于 2009-7-17 16:17 编辑 ]

TOP

如果输出内容一屏可以显示完的话,试下这个看:

存为: main.bat
  1. @echo off
  2. chcp 437 >nul
  3. graftabl 936>nul
  4. telnet <auto.txt
  5. call getdoce.bat
复制代码
存为:auto.txt
  1. open IP地址
  2. 密码
  3. en
  4. 密码
  5. q
复制代码
存为: getdoce.bat
  1. @echo off
  2. goto :begin
  3. f 100 l14 B8 00 B8 50 1F BF 00 02 B9 D0 07 BD 02 08 BA 50 00 AD 3C 20
  4. f 114 l14 75 03 43 75 02 31 DB AA 4A 75 0D B8 0D 0A 29 DF 29 DD 31 DB
  5. f 128 l0e AB BA 50 00 E2 E3 06 1F 89 E9 31 DB 90 90
  6. t=100
  7. g 134
  8. w 200
  9. q
  10. :begin
  11. if '%1'=='' set of=abcec.txt
  12. debug %1%of%<%~f0>nul
  13. start notepad %1%of%
  14. goto :eof
  15. ::DOS下保存整个屏幕内容到文件,不支持中文(即图型模式)
  16. ::可用于纯dos模式
  17. ::在图型模式将输出一个只有空行的文件
  18. ::用debug 取显示缓存区内容。输出%1指定的文件,
  19. ::如果%1为空,输出到abcec.txt
  20. ::用在程序输出有进度显示时,得到的最终屏幕信息
  21. ::注意:本函数调用必独立存为一个BAT文件调用,不可以放在BAT程序内作子程序。
  22. ::行 start notepad %1%of% 用作测试显示结果,用时可删除
复制代码

[ 本帖最后由 netbenton 于 2009-7-17 19:13 编辑 ]

TOP

呵呵,终于找到我的问题的相同贴了,可惜还不能解决问题

TOP

登录单台交换机,5楼的做法就可以了,你可以试下。不过如果要登录多台的话就比较麻烦

TOP

返回列表