直接與電腦溝通

閱讀時間約 14 分鐘

1. 與電腦溝通之方法說明

1.1不須使用任何程式軟體工具,能與電腦溝通,使用Command line執行後,將依自己設定之條件,直接將結果選出,提供後續運用

1.2 Command line的運用

Command line是Command prompt (CMD),中文為「命令行」,

是使用者與電腦溝通的方法,意思是透過鍵盤輸入指令,電腦收到指示後,便能立即執行。

1.3如何開啟電腦中的command line?

在Window系統 [開始]中找到 搜尋search bar,打cmd或command prompt,就能成功進入command line了

 

2. 運用例說明

2.1 在某個檔案input file內有多筆紀錄record,尋找每筆紀錄record內,

某個項目(field)其值大於 80 的record選出

        即讀取資料檔案,檔名:CMD_jsonFile.txt (Input file) 

2.2  Txt file內容包含該機器之效能數據,如CPU 使用率,硬碟各個磁區

之使用量,使用率等,從CMD_jsonFile.txt內,判斷每筆record的資料,

若有硬碟磁區使用率 (field) 大於80%之record,則將該筆資料出力

 

2.3本實例之cmd 設計

set Jdate=
For /f "delims=; tokens=1,2*"  %%i
in ('findstr /r "\<Use_..:.[8-9][0-9]}\>  \<Use_..:.100}\>"  "CMD_jsonFile.txt" ')
do (
      set Jdate=%%j
      set WMI_detail=%%k
      CALL  :Judge_DATE   %%
     )        
         

[註解]

"delims=; tokens=1,2*"  %%i               

  delims=; à對象資料內,以 ; 作區隔

   tokens=1,2* à符合條件之對象資料,取出第一區隔項目,第二區隔項目,

           以及第二區隔項目以後之全部資料

   %%i : 第一區隔項目 以i 變數 運用

            第二區隔項目 以j 變數 運用

            第二區隔 項目以後之全部資料 以k 變數 運用

2.4本例出力取出之條件:

         若有使用率 > 80 , 或 100

          則取得三個變數之值 : i 機器名, j 資料日,k 詳細WMI資料                                   條件判斷之設計為

                "\<Use_..:.[8-9][0-9]}\>  \<Use_..:.100}\>"

2.5  入力 file CMD_jsonFile.txt 內有四筆record 內容如下:

XTW-DB1-01;Mon, 2023-08-07 09:50;{"CPU_%": 30, "MemTot_GB": 63.43, "MemUse_GB": 48.68};[{"Part": "C:", "TOT_GB": 200.0, "Use_GB": 46.35, "Use_%": 23}, {"Part": "D:", "TOT_GB": 357.04, "Use_GB": 20.26, "Use_%": 5}, {"Part": "Q:", "TOT_GB": 4.97, "Use_GB": 0.07, "Use_%": 1}, {"Part": "F:", "TOT_GB": 299.87, "Use_GB": 4.39, "Use_%": 1}, {"Part": "E:", "TOT_GB": 299.87, "Use_GB": 74.22, "Use_%": 24}]

XTW-SF-01;Wed, 2023-08-09 10:20;{"CPU_%": 25, "MemTot_GB": 16.0, "MemUse_GB": 3.92};[{"Part": "D:", "TOT_GB": 99.87, "Use_GB": 13.67, "Use_%": 13}, {"Part": "C:", "TOT_GB": 99.45, "Use_GB": 25.45, "Use_%": 25}]

XTW-BK03;Thu, 2023-08-10 08:00;{"CPU_%": 1, "MemTot_GB": 31.85, "MemUse_GB": 7.38};[{"Part": "C:", "TOT_GB": 150.0, "Use_GB": 25.87, "Use_%": 17}, {"Part": "D:", "TOT_GB": 200.0, "Use_GB": 30.21, "Use_%": 15}, {"Part": "E:", "TOT_GB": 1200.0, "Use_GB": 972.3, "Use_%": 81}, {"Part": "F:", "TOT_GB": 600.0, "Use_GB": 143.62, "Use_%": 23}, {"Part": "H:", "TOT_GB": 501.15, "Use_GB": 71.88, "Use_%": 14}, {"Part": "K:", "TOT_GB": 700.0, "Use_GB": 447.34, "Use_%": 63}, {"Part": "Y:", "TOT_GB": 4484.87, "Use_GB": 214.0, "Use_%": 4}]

XTW-DB2-01; Thu, 2023-08-10 09:50;{"CPU_%": 44, "MemTot_GB": 63.43, "MemUse_GB": 48.87};[{"Part": "C:", "TOT_GB": 200.0, "Use_GB": 46.39, "Use_%": 23}, {"Part": "D:", "TOT_GB": 357.04, "Use_GB": 20.31, "Use_%": 5}, {"Part": "Q:", "TOT_GB": 4.97, "Use_GB": 0.07, "Use_%": 1}, {"Part": "F:", "TOT_GB": 299.87, "Use_GB": 8.2, "Use_%": 2}, {"Part": "E:", "TOT_GB": 299.87, "Use_GB": 74.29, "Use_%": 24}]

3.實例之cmd 執行後,第三筆record被選出,選出資料如下

i 機器名: XTW-BK03 ,

j 資料日: Thu, 2023-08-10 08:00

k 詳細WMI資料如下:

 {"CPU_%": 1, "MemTot_GB": 31.85, "MemUse_GB": 7.38};[{"Part": "C:",

 …..  …

"TOT_GB": 4484.87, "Use_GB": 214.0, "Use_%": 4}]

 

 

4.實例使用兩個cmd 命令,說明如下:

4.1 FOR

   功能 : 對一組檔案中的每個檔案執行指定的命令。

 

 FOR %variable IN (set) DO 命令 [command-parameters]

  %variable  指定一個可以取代的參數。

  (set)      指定由一或多個檔案組成的檔案組。您可使用通配字元。

  command    指定命令來執行每一個檔案。

  command-parameters

             為所指定的命令指定變數或參數。

 

 FOR擴充命令格式:

FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]

FOR /F ["options"] %variable IN ('string') DO command [command-parameters]

FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]

 

4.2  findstr

    功能 : 在檔案中搜尋字串。

 

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]

        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]

        strings [[drive:][path]filename[ ...]]

 

  /B        如果是在行的開端,則符合類型。

  /E        如果是在行的尾端,則符合類型。

  /L        逐字使用搜尋字串。

  /R        使用搜尋字串為一般表示式。

  /S        在現存目錄及所有的子目錄中搜尋符合的檔案。

  /I        指定搜尋不區分大小寫。

  /X        列印完全符合的行數。

  /V        只列印不含相符字串的行數。

  /N        列印每一行符合的行數前的行編號。

  /M        只列印包含相符字串的檔案的檔案名稱。

  /O        列印每一個相符行之前的字元位移。

  /P        跳過沒有可列印字元的檔案。

  /OFF[LINE] 不要跳過有離線屬性設定的檔案。

  /A:attr    以兩個十六進位數字指定色彩屬性。請參閱 "color /?"。

  /F:file   從指定的檔案讀取檔案清單 (/ 代表主控台)。

  /C:string 使用特定的字串作為逐字搜尋的字串。

  /G:file   從指定的檔案取得搜尋字串 (/ 代表主控台)。

  /D:dir    搜尋以分號隔開的目錄清單。

  strings   要搜尋的文字。

  [drive:][path]filename  指定要搜尋的一個或多個檔案。

 

除非引數的字首有 /C,否則請以空格將多重搜尋字串分開。

例如,'FINDSTR "hello there" x.y' 將會在檔案 x.y 中

搜尋 "hello",或 "there"。'FINDSTR /C:"hello there" x.y'

將會在檔案x.y 中搜尋 "hello there"。

 5.  擴充運用:

  5.1日常使用的檔案,可依自己需要,設定條件選出,例如

       上班打卡時間遲到者之選取

       人事資料內年齡大於60者選出

       各科成績分數小於60者選出

       公司員工住所在”高雄市”者選出

        ……

5.2 input file 若是Excel 檔,可先轉成csv or txt檔之格式,一樣可使用上述功能

5.3 cmd 設計完成後,再作成bat執行檔,

於Windows工作排程器(task Scheduler)設定執行,讓程式依照排程自動執行,將選出之資料內容,利用mail or LINE等方法,即時自動送出給擔當,以便可即時確認對應

------------------recorded by linct ------------------

avatar-img
59會員
142內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
linct的沙龍 的其他內容
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Python程式WMI_CMD2.py: 獲得Windows系統效能數據
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Python程式WMI_CMD2.py: 獲得Windows系統效能數據
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
  最近有筆友對於一些標點符號的用法有疑問,因此想說寫一下詳細一些些的解釋,以及說說我個人的觀點。   首先是之前在直言中提及的,對話用法的引號前究竟該用什麼符號?   一樣,為了方便理解,我會把對話分成「直接對話」和「間接對話」兩種。   首先是「直接」,舉凡「道」、「說」、「曰」……等等各
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
Thumbnail
透過適當的語言和文字表達,人們可以溝通訊息和態度。轉折詞的運用和標點符號的使用會影響溝通的準確性和情緒表達。
※ 介面是什麼: 介面:人跟電腦互相溝通的管道。 使用者與電腦互相溝通的方式稱為使用者的介面。 ※ 使用者的介面類型: 文字使用者介面:CUI。使用純鍵盤來下指令溝通,對象是伺服器(SERVER)。 圖型使用者介面:GUI。使用圖像去做點擊或拖拉的方式。 ※ 命令列(Command li
Thumbnail
「#不管是電腦還是電視都有使用方法 。 一旦用錯方法就無法開機,胡亂操作的話,甚至還會故障。 和媽媽相處也是一樣的道理。」
Thumbnail
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
※ 必考題一: Command Line 工程師面試時通常不會著墨太多在此科目上,考題只考涵蓋的基本指令。 ※ 說明:Command Line是使用純文字與電腦溝通的方式,和圖形化介面 GUI是不一樣的。 ※ 常用基本指令: pwd=print the current directory:顯
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
  最近有筆友對於一些標點符號的用法有疑問,因此想說寫一下詳細一些些的解釋,以及說說我個人的觀點。   首先是之前在直言中提及的,對話用法的引號前究竟該用什麼符號?   一樣,為了方便理解,我會把對話分成「直接對話」和「間接對話」兩種。   首先是「直接」,舉凡「道」、「說」、「曰」……等等各
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
Thumbnail
透過適當的語言和文字表達,人們可以溝通訊息和態度。轉折詞的運用和標點符號的使用會影響溝通的準確性和情緒表達。
※ 介面是什麼: 介面:人跟電腦互相溝通的管道。 使用者與電腦互相溝通的方式稱為使用者的介面。 ※ 使用者的介面類型: 文字使用者介面:CUI。使用純鍵盤來下指令溝通,對象是伺服器(SERVER)。 圖型使用者介面:GUI。使用圖像去做點擊或拖拉的方式。 ※ 命令列(Command li
Thumbnail
「#不管是電腦還是電視都有使用方法 。 一旦用錯方法就無法開機,胡亂操作的話,甚至還會故障。 和媽媽相處也是一樣的道理。」
Thumbnail
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
※ 必考題一: Command Line 工程師面試時通常不會著墨太多在此科目上,考題只考涵蓋的基本指令。 ※ 說明:Command Line是使用純文字與電腦溝通的方式,和圖形化介面 GUI是不一樣的。 ※ 常用基本指令: pwd=print the current directory:顯