国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

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

2020-07-26 19:47:57
字體:
供稿:網(wǎng)友

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

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

前言

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

大致功能如下:

  • 批處理獲取當(dāng)前日期時間
  • 批處理生成動態(tài)的文件名
  • 批處理輸出echo到日志文件
  • 批處理遍歷列表list
  • 批處理函數(shù)與call函數(shù)
  • 判斷服務(wù)是否運(yùn)行中
  • 批處理count計(jì)數(shù)
  • 批處理copy復(fù)制文件
  • 批處理判斷大于gtr(記住那輛跑車名,批處理大于、小于、等于、不小于、不大于和不等于)
@echo offcolor 2Eset YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2%set filename=healthcheck.logREM set "filename=healthcheck_%YYYYmmdd%_%hhmiss%.log"set "datetime=%YYYYmmdd%%hhmiss%"set allCount=0set errorCount=0set checkList="QlikSenseServiceDispatcher" "QlikSenseSchedulerService" "QlikSenseRepositoryService" "QlikSenseRepositoryDatabase" "QlikSenseProxyService" "QlikSensePrintingService" "QlikSenseEngineService" "QlikLoggingService"echo ============================================ >%filename%echo Health Checking by Qlik Team         >>%filename%echo zhengkai.blog.csdn.netecho (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_checksc query |find /i %1 >nul 2>nulif not errorlevel 1 ( echo SUCCESS...... %1             >>%filename%)else ( echo FAILD...... %1 is error !         >>%filename% set /a errorCount+=1)set /a allCount+=1goto:eof:check_statusif %errorCount% gtr 0 ( echo ###### this server is Not Health     >>%filename%) else ( echo ###### this server is Health       >>%filename%)goto:eof:endcopy %filename% //xxxx/DataShare/CSDN/ZhengKai/

批處理獲取當(dāng)前日期時間,生成動態(tài)的文件名

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%) 遍歷哪個數(shù)組
  • 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%

批處理函數(shù)與call函數(shù)

定義一個:function_name,中間是函數(shù)內(nèi)容,后面以goto:eof結(jié)尾

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

批處理count計(jì)數(shù)

計(jì)數(shù)加一 set /a allCount+=1

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

批處理copy復(fù)制文件

  • 復(fù)制文件 copy 文件名 目錄頁
  • 復(fù)制文件夾用xcopy,指定的目錄連文件和目錄結(jié)構(gòu)一并拷貝

copy %filename% "http://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%)

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久治县| 玉林市| 莱西市| 和龙市| 蒙阴县| 明水县| 泸定县| 汾西县| 沙河市| 钟祥市| 固始县| 宁波市| 中阳县| 甘南县| 临海市| 阿鲁科尔沁旗| 黄陵县| 靖边县| 全南县| 龙井市| 玛纳斯县| 监利县| 旺苍县| 凉城县| 阿鲁科尔沁旗| 白朗县| 襄垣县| 安达市| 武安市| 图片| 黑河市| 大关县| 孟州市| 齐河县| 长白| 永德县| 嘉义市| 鄂伦春自治旗| 万盛区| 红桥区| 托克托县|