讲解:如何进行batch Telnet

网络 网络管理
文章摘要:现在,我们对batch Telnet的具体方式进行了介绍。文中,也对batch Telnet的实现代码进行了解析,希望对大家有用。

batch Telnet远程登录批处理是我们处理一些繁琐,大量工作的有效方法。现在,这个方法得到很多管理员和企业网络管理者的青睐。现在就让我们看看具体的内容吧。希望本文的总结,能让大家了解batch Telnet的实现过程。

两种办法可以实现bat转换为EXE

有两种办法可以实现bat转换为EXE,一种是利用工具,如DOS下的bat2exe工具;另一种方法是在VB中使用Shell函数,其形式如下(结束后DOS窗口会自行关闭): 

Shell "command.com /c copy c:\1.txt a:\",vbNormalFocus  

如何在批处理中运行Telnet自动任务?
 
一般来说ftp做batch处理事务时非常常见的事情。那么如果Batch Telnet,让我们的管理工作更加的轻松呢?

一般来说两种方法:

1、VBS法(Windows Script Host)

2、自动终端法(一些可以配置自动Telnet的终端)

在这里我们讨论第一种方法:VBS法。由于Windows Script Host是系统自带的,我们不需要安装地方放软件就可以搞定。所以它一般是解决问题的首选。

首先,我们建立一个名字叫做tel.vbs的脚本,这里用Telnet 到cisco路由器上作为一个例子,相关内容大家可以修改。

  1. ’建立Shell对象  
  2. set sh=WScript.CreateObject("WScript.Shell")  
  3. WScript.Sleep 1000  
  4. ’向Telnet发送我们平时录入的命令  
  5. sh.SendKeys "open 192.168.1.1"  
  6. WScript.Sleep 1000  
  7. sh.SendKeys "{ENTER}"  
  8. WScript.Sleep 1000  
  9. sh.SendKeys "password{ENTER}"  
  10. WScript.Sleep 1000  
  11. sh.SendKeys "en{ENTER}"  
  12. WScript.Sleep 1000  
  13. sh.SendKeys "passord{ENTER}"  
  14. WScript.Sleep 1000  
  15. ’运行cisco的show run命令  
  16. sh.SendKeys "show run{ENTER}" 

然后,建立一个batch_tel.bat的批处理文件:

  1. rem 启动Telnet  
  2. start Telnet.exe  
  3. rem batch Telnet  
  4. cscript //nologo tel.vbs 

最后,我们只需要运行batch_tel.bat就可以轻松搞定Telnet的工作了。#p#

对于SendKeys这个命令可以send什么,我们可以看下面的列表:

  1. BACKSPACE {BACKSPACE}, {BS}, or {BKSP}  
  2. BREAK {BREAK}  
  3. CAPS LOCK {CAPSLOCK}  
  4. DEL ;or DELETE {DELETE} or {DEL}  
  5. DOWN ARROW {DOWN}  
  6. END {END}  
  7. ENTER {ENTER}or ~  
  8. ESC {ESC}  
  9. HELP {HELP}  
  10. HOME {HOME}  
  11. INS or INSERT {INSERT} or {INS}  
  12. LEFT ARROW {LEFT}  
  13. NUM LOCK {NUMLOCK}  
  14. PAGE DOWN {PGDN}  
  15. PAGE UP {PGUP}  
  16. PRINT SCREEN {PRTSC}  
  17. RIGHT ARROW {RIGHT}  
  18. SCROLL LOCK {SCROLLLOCK}  
  19. TAB {TAB}  
  20. UP ARROW {UP}  
  21. F1 {F1}  
  22. F2 {F2}  
  23. F3 {F3}  
  24. F4 {F4}  
  25. F5 {F5}  
  26. F6 {F6}  
  27. F7 {F7}  
  28. F8 {F8}  
  29. F9 {F9}  
  30. F10 {F10}  
  31. F11 {F11}  
  32. F12 {F12}  
  33. F13 {F13}  
  34. F14 {F14}  
  35. F15 {F15}  
  36. F16 {F16}  
  37.  
  38. SHIFT +  
  39. CTRL ^  
  40. ALT % 

Shell一个应用程序并等待该程序执行完毕后继续运行

Shell & Wait 的程序怎么写? 希望某一 VB 程序利用 Shell 执行某一个外部程序(假设是 notepad.exe)之后, 就一直等到此一程序结束执行时, 才回到 VB 程序继续执行, 该怎么办到呢? 当我们调用 Shell 时, 会传回一个数值, 此一数值称为 Process Id, 利用此 一 Process Id, 我们可以调用 OpenProcess API 取得 Process Handle, 然后 再利用 Process Handle 调用 WaitForSingleObject, 即可等待被 Shell 执行的 程序执行完毕, 才继续向下执行。细节如下: 

1. API 的声明: 

  1. Const SYNCHRONIZE = &H100000  
  2. Const INFINITE = &HFFFFFFFF  
  3. Private Declare Function OpenProcess Lib "kernel32" (ByVal  
  4. dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId  
  5. As Long) As Long  
  6. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As  
  7. Long) As Long  
  8. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal  
  9. hHandle As Long, ByVal dwMilliseconds As Long) As Long 

注:如果以上的声明放在「一般模块」底下, 应将 Declare 之前的 Private 保 留字去掉, 并且在 Const 之前加上 Public 保留字。

2. 程序范例:(以执行 Notepad 程序为例) 

  1. Dim pId As Long, pHnd As Long ’分别声明 Process Id 及 Process Handle 变 数    
  2. pId = Shell("Notepad", vbNormalFocus) ’Shell 传回  
  3. Process Id pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ’ 取得 Process Handle  
  4. If pHnd <> 0 Then Call WaitForSingleObject(pHnd, INFINITE) ’ 无限等待,直到程序结束  
  5. Call CloseHandle(pHnd)  
  6. End If 
责任编辑:佟健 来源: 赛迪网
相关推荐

2010-07-21 14:17:07

Linux telne

2010-07-26 16:23:46

Telnet 110

2010-06-29 14:06:49

SNMP MIB

2010-05-27 16:18:58

SVN设置

2010-07-22 12:15:59

Batch Telne

2010-07-16 10:31:02

Batch Telne

2010-07-27 14:52:37

Batch Telne

2010-02-04 12:58:28

2010-07-26 14:46:08

batch Telne

2010-05-05 13:45:21

Unix Telnet

2010-07-16 10:23:28

Batch telne

2010-07-19 21:24:34

启动Telnet服务器

2013-10-17 23:12:12

Windows 8.1Windows 8.1

2017-07-28 11:31:59

iOS结构优化项目

2010-09-17 15:36:24

2021-08-26 10:05:31

APP安全加密网络攻击

2010-06-03 11:01:32

Hadoop安装部署

2010-02-01 10:21:36

Python编码转换

2010-02-22 16:05:40

Python配置

2013-01-28 10:11:24

敏捷设计敏捷开发
点赞
收藏

51CTO技术栈公众号