婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用)

BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用)

熱門標簽:為什么申請400電話 蘇丹地圖標注app 高德百度地圖標注推廣 外呼系統解決電銷問題 京東辦理400電話查詢 南陽高頻外呼系統怎么安裝 菏澤電銷外呼系統軟件 地圖標注店鋪的收費 貴陽電話外呼系統廠家

先給大家普及下批處理的基本概念

批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,通常被認為是一種簡化的腳本語言,它應用于DOS和Windows系統中。批處理文件的擴展名為bat 或cmd。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基于強大的圖片編輯軟件Photoshop的,用來批量處理圖片的腳本;而DOS批處理則是基于DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。更復雜的情況,需要使用if、for、goto等命令控制程式的運行過程,如同C、Basic等高級語言一樣。如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟件。批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟件,任何當前系統下可運行的程序都可以放在批處理文件中運行。

前言

某qlik sense服務器需要一個health check(健康狀態監測)的程序,所以就有了一下的批處理腳本。

大致功能如下:

  • 批處理獲取當前日期時間
  • 批處理生成動態的文件名
  • 批處理輸出echo到日志文件
  • 批處理遍歷列表list
  • 批處理函數與call函數
  • 判斷服務是否運行中
  • 批處理count計數
  • 批處理copy復制文件
  • 批處理判斷大于gtr(記住那輛跑車名,批處理大于、小于、等于、不小于、不大于和不等于)
@echo off
color 2E
set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2%
set filename=healthcheck.log
REM set "filename=healthcheck_%YYYYmmdd%_%hhmiss%.log"
set "datetime=%YYYYmmdd%%hhmiss%"
set allCount=0
set errorCount=0
set checkList="QlikSenseServiceDispatcher" "QlikSenseSchedulerService" "QlikSenseRepositoryService" "QlikSenseRepositoryDatabase" "QlikSenseProxyService" "QlikSensePrintingService" "QlikSenseEngineService" "QlikLoggingService"
echo ============================================ >%filename%
echo Health Checking by Qlik Team         >>%filename%
echo zhengkai.blog.csdn.net
echo (datetime: %datetime% )            >>%filename%
echo ============================================ >>%filename%
echo.                       >>%filename%
echo.                       >>%filename%
for %%L in (%checkList%) do call :health_check %%L 
echo ============================================ >>%filename%
echo Checking Finish.               >>%filename%
echo.                       >>%filename%
echo Error : %errorCount% of %allCount%      >>%filename%
echo.                       >>%filename%
echo ============================================ >>%filename%
call :check_status                 
echo ============================================ >>%filename%
goto:end

:health_check
sc query |find /i %1 >nul 2>nul
if not errorlevel 1 (
 echo SUCCESS...... %1             >>%filename%
)else (
 echo FAILD...... %1 is error !         >>%filename%
 set /a errorCount+=1
)
set /a allCount+=1
goto:eof

:check_status
if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)
goto:eof

:end
copy %filename% \\xxxx\DataShare\CSDN\ZhengKai\

批處理獲取當前日期時間,生成動態的文件名

set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2%
set "filename=healthcheck_%YYYYmmdd%_%hhmiss%.log"
echo %filename%

批處理輸出echo到日志文件

  • > 就是清空輸出文件,重新輸出層
  • >> 就是追加到日子和文件
echo ============================================ >%filename%
echo Health Checking by Qlik Team         >>%filename%
echo ============================================ >>%filename%

批處理遍歷列表list

定義在一個List會后,就可以開始使用

  • for %%L 用什么變量來遍歷
  • in (%checkList%) 遍歷哪個數組
  • do echo %%L 遍歷來做什么
set checkList="QlikSenseServiceDispatcher" "QlikSenseSchedulerService" "QlikSenseRepositoryService" "QlikSenseRepositoryDatabase" "QlikSenseProxyService" "QlikSensePrintingService" "QlikSenseEngineService" "QlikLoggingService"
echo ============================================ >%filename%
echo Health Checking List             >>%filename%
for %%L in (%checkList%) do echo %%L 
echo ============================================ >>%filename%

批處理函數與call函數

定義一個:function_name,中間是函數內容,后面以goto:eof結尾

call :check_status

:check_status
if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)
goto:eof

批處理count計數

計數加一 set /a allCount+=1

set allCount=0
for %%L in (%checkList%) do set /a allCount+=1

批處理copy復制文件

  • 復制文件 copy 文件名 目錄頁
  • 復制文件夾用xcopy,指定的目錄連文件和目錄結構一并拷貝

copy %filename% "\\xxxx\DataShare\CSDN\ZhengKai\"

批處理大于、小于、等于、不小于、不大于和不等于

  • EQU - 等于
  • NEQ - 不等于
  • LSS - 小于
  • LEQ - 小于或等于
  • GTR - 大于
  • GEQ - 大于或等于
if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)

總結

以上所述是小編給大家介紹的BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用),希望對大家有所幫助,也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • BAT 批處理腳本教程(詳細篇腳本之家補充)
  • Windows下使用批處理文件.bat刪除舊文件
  • 利用bat批處理程序通過DOS命令行刪除所有的空文件夾的方法
  • bat 批處理 for 命令快速入門
  • 修改Windows Server 2008 R2 的3389遠程端口的Bat批處理代碼
  • 批處理統計文件夾內的所有文件的數量和總大小的bat

標簽:阿里 韶關 通遼 滄州 昌都 咸寧 資陽 海北

巨人網絡通訊聲明:本文標題《BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用)》,本文關鍵詞  BAT,批處理,判斷,服務,是否,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用)》相關的同類信息!
  • 本頁收集關于BAT批處理判斷服務是否正常運行的方法(批處理命令綜合應用)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鞍山市| 静海县| 昭觉县| 错那县| 青浦区| 大悟县| 泰和县| 大安市| 墨脱县| 桦南县| 城市| 南汇区| 高清| 湘阴县| 东丰县| 滦南县| 杭锦后旗| 扎鲁特旗| 建阳市| 松滋市| 奉节县| 南木林县| 上栗县| 余姚市| 栖霞市| 和林格尔县| 淮北市| 凌源市| 广宗县| 荆州市| 延寿县| 忻州市| 剑阁县| 九龙城区| 丰镇市| 沁阳市| 安化县| 上蔡县| 海晏县| 龙里县| 林口县|