自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Batch Telnet實現(xiàn)的兩個方法

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
下面我們介紹一下batch Telnet的過程。首先我們需要了解實現(xiàn)這個目的的目標(biāo)是實現(xiàn)bat轉(zhuǎn)換為EXE。然后,我們對實現(xiàn)batch Telnet這個的操作進(jìn)行一下分析。那么具體內(nèi)容請參考下文。

我們知道batch Telnet是批處理Telnet的意思。在自動化工程中,常會設(shè)計這方面問題。那么現(xiàn)在我們就來對這些問題進(jìn)行一下研究。其中我們提供了兩種方法實現(xiàn)這個目標(biāo),那么具體的操作請從正文來了解一下吧。

兩種辦法可以實現(xiàn)bat轉(zhuǎn)換為EXE

有兩種辦法可以實現(xiàn)bat轉(zhuǎn)換為EXE,一種是利用工具,如DOS下的bat2exe工具;另一種方法是在VB中使用Shell函數(shù),其形式如下(結(jié)束后DOS窗口會自行關(guān)閉): 

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

如何在批處理中運行Telnet自動任務(wù)?
 
一般來說ftp做batch處理事務(wù)時非常常見的事情。那么如果Batch Telnet,讓我們的管理工作更加的輕松呢?

一般來說兩種方法:

1、VBS法(Windows Script Host)

2、自動終端法(一些可以配置自動Telnet的終端)

在這里我們討論第一種方法:VBS法。由于Windows Script Host是系統(tǒng)自帶的,我們不需要安裝地方放軟件就可以搞定。所以它一般是解決問題的首選。

首先,我們建立一個名字叫做tel.vbs的腳本,這里用Telnet 到cisco路由器上作為一個例子,相關(guān)內(nèi)容大家可以修改。

  1. ’建立Shell對象  
  2. set sh=WScript.CreateObject("WScript.Shell")  
  3. WScript.Sleep 1000  
  4. ’向Telnet發(fā)送我們平時錄入的命令  
  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的工作了。

對于SendKeys這個命令可以send什么,我們可以看下面的列表:#p#

  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一個應(yīng)用程序并等待該程序執(zhí)行完畢后繼續(xù)運行

Shell & Wait 的程序怎么寫? 希望某一 VB 程序利用 Shell 執(zhí)行某一個外部程序(假設(shè)是 notepad.exe)之后, 就一直等到此一程序結(jié)束執(zhí)行時, 才回到 VB 程序繼續(xù)執(zhí)行, 該怎么辦到呢? 當(dāng)我們調(diào)用 Shell 時, 會傳回一個數(shù)值, 此一數(shù)值稱為 Process Id, 利用此 一 Process Id, 我們可以調(diào)用 OpenProcess API 取得 Process Handle, 然后 再利用 Process Handle 調(diào)用 WaitForSingleObject, 即可等待被 Shell 執(zhí)行的 程序執(zhí)行完畢, 才繼續(xù)向下執(zhí)行。細(xì)節(jié)如下: 

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 

注:如果以上的聲明放在「一般模塊」底下, 應(yīng)將 Declare 之前的 Private 保 留字去掉, 并且在 Const 之前加上 Public 保留字。

2. 程序范例:(以執(zhí)行 Notepad 程序為例) 

  1. Dim pId As Long, pHnd As Long ’分別聲明 Process Id 及 Process Handle 變 數(shù)    
  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) ’ 無限等待,直到程序結(jié)束  
  5. Call CloseHandle(pHnd)  
  6. End If 

DPG聯(lián)盟 http://www.xhstudio.net 

責(zé)任編輯:佟健 來源: IT168
相關(guān)推薦

2010-07-25 14:31:54

Telnet程序

2010-07-16 10:31:02

Batch Telne

2010-07-17 00:59:44

cmd Telnet

2010-07-27 14:52:37

Batch Telne

2010-07-22 12:15:59

Batch Telne

2009-06-30 09:37:02

對象比較Java

2010-07-26 14:46:08

batch Telne

2009-07-16 10:39:00

SwingUtilit

2010-09-13 16:55:27

DIV橫向排列

2010-07-22 10:58:49

batch Telne

2012-05-22 10:12:59

jQuery

2022-07-05 15:15:11

Python日期命令

2016-03-31 11:28:21

imageView圖片輪播

2010-07-16 10:23:28

Batch telne

2010-05-27 09:50:18

MySQL導(dǎo)入sql腳

2010-07-21 11:32:35

SQL Server日

2021-06-07 14:59:06

芯片敏捷SoC

2021-09-08 09:52:34

語言

2021-01-14 10:24:55

壓縮集合方式

2009-09-08 15:26:13

NFS服務(wù)器
點贊
收藏

51CTO技術(shù)棧公眾號