返回列表 发帖

[AU3基础] [已解决]有人有辦法擷取putty的文字 並且抓出想要的字串嗎?

本帖最后由 ipmitool 于 2017-1-9 13:41 编辑

有人有辦法擷取putty的文字 並且抓出想要的字串嗎?
putty的視窗會一直跑字出來, 所以要偵測這個視窗, 然後抓出  192.8.1.175:1 變成一個變數

附件: 您需要登录才可以下载或查看附件。没有帐号?加入
Mike Pan

回复 13# zghwelcome


    好強啊~~謝謝大哥~~

TOP

  1. #include <Array.au3>
  2. #include <ButtonConstants.au3>
  3. #include <ComboConstants.au3>
  4. #include <EditConstants.au3>
  5. #include <GUIConstantsEx.au3>
  6. #include <WindowsConstants.au3>
  7. #include <GuiComboBoxEx.au3>
  8. #include <array.au3>
  9. #include <Excel.au3>
  10. #include <GUIConstantsEx.au3>
  11. #include <WindowsConstants.au3>
  12. #include <Constants.au3>



  13. $Form1 = GUICreate("Collect FIO Log Tool", 520, 230, -1, -1)
  14. $Radio1 = GUICtrlCreateRadio("Collect 1HDD", 400, 50, 97, 25)
  15. $Button1 = GUICtrlCreateButton("Collect Log", 400, 150, 97, 25, 0)
  16. $hLabel1 = GUICtrlCreateLabel("BW", 30, 14, 97, 25, 0)

  17. GUISetState(@SW_SHOW)

  18. Local $file = FileOpenDialog("請選擇要開啟的檔案", "c:\data", " TXT(*.*) ")

  19. $Input1 = GUICtrlCreateEdit("", 30, 30, 100, 175)

  20. While 1
  21.         ;read printer information
  22.         $sRead = BinaryToString(FileRead($file),4)
  23.         $prn000 = StringRegExp($sRead, "(\d{1,3}\.){3}\d{1,3}(:\d+)?", 4)
  24.         If Not @error Then
  25.                 For $i = 0 To UBound($prn000) - 1
  26.                         GUICtrlSetData($Input1, ($prn000[$i])[0] & @CRLF, 1)
  27.                 Next
  28.                 Sleep(5000)
  29.         EndIf


  30.         $Msg = GUIGetMsg()
  31.         Switch $Msg
  32.                 Case $GUI_EVENT_CLOSE
  33.                         Exit
  34.                 Case $Button1
  35.                         If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = 1 Then
  36.                                 RunWait(@DesktopDir & "\dopdf-7.exe", "")
  37.                         EndIf
  38.         EndSwitch

  39. WEnd
复制代码
1

评分人数

  • ipmitool

TOP

回复 11# zghwelcome


謝謝您, 不過去讀zip裡面的 txt 檔案時, 抓不到 192.8.1.175:1
附件: 您需要登录才可以下载或查看附件。没有帐号?加入
Mike Pan

TOP

  1. #include <Array.au3>
  2. #include <ButtonConstants.au3>
  3. #include <ComboConstants.au3>
  4. #include <EditConstants.au3>
  5. #include <GUIConstantsEx.au3>
  6. #include <WindowsConstants.au3>
  7. #include <GuiComboBoxEx.au3>
  8. #include <array.au3>
  9. #include <Excel.au3>
  10. #include <GUIConstantsEx.au3>
  11. #include <WindowsConstants.au3>
  12. #include <Constants.au3>



  13. $Form1 = GUICreate("Collect FIO Log Tool", 520, 230, -1, -1)
  14. $Radio1 = GUICtrlCreateRadio("Collect 1HDD", 400, 50, 97, 25)
  15. $Button1 = GUICtrlCreateButton("Collect Log", 400, 150, 97, 25, 0)
  16. $hLabel1 = GUICtrlCreateLabel("BW", 30, 14, 97, 25, 0)

  17. GUISetState(@SW_SHOW)

  18. Local $var = FileOpenDialog("請選擇要開啟的檔案", "c:\data", " TXT(*.*) ")

  19. $Input1 = GUICtrlCreateEdit("", 30, 30, 100, 175)

  20. While 1
  21.         ;read printer information
  22.         $line = FileRead($var)
  23.         $prn000 = StringRegExp($line, "(\d{1,3}\.){3}\d{1,3}(:\d+)?", 4)
  24.         If Not @error Then
  25.                 For $i = 0 To UBound($prn000) - 1
  26.                         GUICtrlSetData($Input1, ($prn000[$i])[0] & @CRLF, 1)
  27.                 Next
  28.                 Sleep(5000)
  29.         EndIf


  30.         $Msg = GUIGetMsg()
  31.         Switch $Msg
  32.                 Case $GUI_EVENT_CLOSE
  33.                         Exit
  34.                 Case $Button1
  35.                         If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = 1 Then
  36.                                 RunWait(@DesktopDir & "\dopdf-7.exe", "")
  37.                         EndIf
  38.         EndSwitch

  39. WEnd
复制代码

TOP

正则返回的是数组

TOP

$prn000 = StringRegExp($line, "(\d{1,3}\.){3}\d{1,3}(:\d+)?", 4)
先看下结果,然后取对应的

TOP

回复 7# zghwelcome


    好像沒辦法耶...一直跑出1
  1. #include <Array.au3>
  2. #include <ButtonConstants.au3>
  3. #include <ComboConstants.au3>
  4. #include <EditConstants.au3>
  5. #include <GUIConstantsEx.au3>
  6. #include <WindowsConstants.au3>
  7. #include <GuiComboBoxEx.au3>
  8. #include<array.au3>
  9. #include <Excel.au3>
  10. #include <GUIConstantsEx.au3>
  11. #include <WindowsConstants.au3>
  12. #include <Constants.au3>



  13.     $Form1 = GUICreate("Collect FIO Log Tool", 520, 230, -1, -1)
  14.         $Radio1        = GUICtrlCreateRadio("Collect 1HDD", 400, 50, 97, 25)
  15.         $Button1 = GUICtrlCreateButton("Collect Log", 400, 150, 97, 25, 0)
  16.         $hLabel1 = GUICtrlCreateLabel("BW", 30, 14, 97, 25, 0)


  17.     GUISetState(@SW_SHOW)



  18.     Local $var = FileOpenDialog("請選擇要開啟的檔案", "c:\data", " TXT(*.*) ")
  19.     Local $file = FileOpen($var)

  20.     $Input1 = GUICtrlCreateEdit("", 30, 30, 100, 175)


  21. While 1
  22.     ;read printer information
  23.     $line = FileRead($file)
  24.     $prn000 = StringRegExp($line, "(\d{1,3}\.){3}\d{1,3}(:\d+)?", 3)


  25. GUICtrlSetData ($Input1, $prn000 &@CRLF,1)



  26.         $Msg = GUIGetMsg()
  27.         Switch $Msg
  28.                 Case $GUI_EVENT_CLOSE
  29.                         Exit
  30.                 Case $Button1
  31.                 if BitAnd(GUICtrlRead($Radio1),$GUI_CHECKED)=1 Then
  32.                         RunWait(@DesktopDir&"\dopdf-7.exe","")
  33.                 EndIf
  34. EndSwitch



  35. WEnd
复制代码

TOP

  1. (\d{1,3}\.){3}\d{1,3}(:\d+)?
复制代码
不是很严谨

TOP

回复 5# austere

他那篇回覆的看不太明白...
如果要正則抓取這個檔案裏面的 192.8.1.175:1 要如何做啊...
附件: 您需要登录才可以下载或查看附件。没有帐号?加入
Mike Pan

TOP

回复 4# ipmitool


    Afan有个匹配ip的正则,要不你就百度一下匹配IP的正则

TOP

回复 2# q410225


    不過要如何指定那個位置而找到ip呢?

TOP

楼上思路不错~

TOP

开启putty的日志功能,然后用正则提取IP

TOP

返回列表