天天看點

bat操作可執行檔案

  最近項目需要用bat來執行一些程式 ,以前對bat的文法不熟悉,借這個機會學習了一下bat的文法。其實bat檔案的文法不是很難,隻要熟悉一下幾個基本的指令,大部分都能用它們來解決實際問題。本人用到的指令有:

echo:顯示字元

@:背景執行指令

 start /w:等待某個指令執行完畢

if exists 檔案:判斷檔案是否存在

 if errorlevel 1 goto fail:判斷傳回結果值

rem:注釋

注意:

1。如果執行自解壓檔案需要注意它的目标路徑,要麼在制作自解壓檔案時指定的目标路徑,否則它會解壓到目前路徑下(可能不是你想要的路徑下)。本人被這個問題困擾了好幾個小時(沒有指定目标路徑,結果不知道解壓到什麼地方去了)。

2。執行應用程式時,如果應用程式需要一些其它的配置檔案并且應用程式調用它們用的是相對路徑,那麼最好能進入相應的目錄,再執行應用程式

3。if errorlevel 1的判斷條件,它不是相當于 if errorlevel == 1 ,而是相當于 if errorlevel <= 1,網上大部分資料都說應該按傳回值從小到大來判斷,實際上它恰恰相反。

示例:

@echo off

rem this is a upgrade test

echo start upgrade

rem 進入相應目錄

cd %ITBOSSAGENT_HOME%/upgrade/

echo install.exe

rem 執行自解壓程式

%ITBOSSAGENT_HOME%/upgrade/install.exe

echo DataTrans.exe

rem 暫停6秒

@ping 127.0.0.1 -n 6 > nul l

rem 執行應用程式

%ITBOSSAGENT_HOME%/upgrade/DataTrans.exe

rem 判斷應用程式的傳回結果

if errorlevel 1 goto fail

if errorlevel 0 goto succ

:fail

echo upgrade fail

rem 生成日志檔案

echo upgrade fail >> %ITBOSSAGENT_HOME%/upgrade/test.log

goto end

:succ

echo upgrade succ

echo upgrade succ >> %ITBOSSAGENT_HOME%/upgrade/test.log

goto end

:end

rem 判斷日志檔案是否存在

if exist %ITBOSSAGENT_HOME%/upgrade/logfile.txt  echo file exists

echo upgrade over

bat延時參考文章:http://www.cnnkl.cn/Article/webtech/383/2008/20080120121.html

繼續閱讀