Windows下批次檔(.bat)的使用

來源:互聯網
上載者:User

標籤:blank   順序   結果   ref   out   包括   mkdir   batch   tin   

批處理(Batch),就是進行批量的處理。英文譯文BATCH,批次檔尾碼BAT就取的前三個字母,通常被覺得是一種簡化的指令碼語言,它應用於DOS和Windows系統中。批次檔是副檔名為.bat或.cmd的文字檔,包括一條或多條命令,由DOS或Windows系統內嵌的命令直譯器來解釋執行。批次程式儘管是在命令列環境中執行,但不僅僅能使用命令列軟體,不論什麼當前系統下可執行檔程式都能夠放在批次檔裡執行

         批次檔是無格式的文字檔。在命令提示字元下鍵入批次檔的名稱,或者雙擊該批次檔。系統就會調用cmd.exe依照該檔案裡各個命令出現的順序來逐個執行它們批次檔是一種簡單的程式,能夠通過條件陳述式(if)和流程式控制制語句(goto)來控制命令執行的流程。在批處理中也能夠使用迴圈語句(for)來迴圈執行一條命令。

每一個編寫好的批次檔都相當於一個DOS的外部命令,你能夠把它所在的檔案夾放到你的DOS搜尋路徑(path)中來使得它能夠在任何位置執行。

         批處理的本質,是一堆DOS命令按一定順序排列而形成的集合。不論什麼在命令提示字元下可使用的命令都可用在批次程式中

         批次檔的格式:每一行可視為一個命令,每一個命令裡能夠含多條子命令,從第一行開始執行,直到最後一行結束,它執行的平台是DOS。

         批次檔裡全然能夠使用非dos命令,甚至能夠使用不具有可執行特性的普通資料性檔案。

         批處理經常使用命令:批處理命令是不區分大寫和小寫

1.        echo:顯示此命令後的字元。

2.        echo. :顯示一個空行(相當於輸入一個斷行符號的結果)。

3.        echo off:在此語句後全部執行的命令都不顯示命令列本身。

4.        @:@與echo off類似,但它是加在其他命令列的最前面,表示執行時不顯示命令列本身;

5.        call:調用還有一條批次檔(假設直接調用別的批次檔,執行完那條命令後將無法執行當前檔案興許命令)。

6.        start:調用外部程式。全部的DOS命令和命令列程式都能夠由start命令來調用。等外部程式完畢後才繼續執行剩下的指令;

7.        pause:執行此句會暫停,顯示Pressany key to continue… 等待使用者按隨意鍵後繼續;

8.        rem:與::類似,表示此命令後的字元為解釋行。不執行,僅僅是給自己今後尋找用的;

9.        %:表示參數。參數是指在執行批次檔時在檔案名稱後加的字串。變數能夠從%0到%9。%0表示檔案名稱本身,字串用%1到%9順序表示。

10.    if:將推斷是否符合規定的條件,從而決定執行不同的命令。

11.    for:迴圈命令,僅僅要條件符合,它將多次執行同一命令。

12.    choice:在批次程式中,通過顯示提示資訊並暫停批次程式,使用者能夠從一組選項鍵中進行選擇;

13.    goto:跳轉命令,程式指標跳轉到指定的標籤,從標籤後的第一條命令開始繼續執行批次程式。

14.    set:顯示、設定或刪除變數,批處理中的變數是不區分類型的。不須要像C語言中的變數那樣還要區分int、float、char等;

15.    cls:清屏。

16.    ver:顯示版本號碼

17.    >、>>:都是輸出重新導向命令,就是把前面命令的輸出寫入到一個檔案裡;兩者的差別是”>”會清除掉原有檔案裡的內容後把新的內容寫入原檔案。而”>>”僅僅會另起一行追加新的內容到原檔案裡,而不會修改當中的原有內容;

18.errorlevel:每一個命令執行結束。能夠用這個命令列格式查看返回碼,預設值為0,一般命令執行出錯會設errorlevel為1;

以下是個簡單的範例:autotest.bat

@echo off:: auto run unit testmkdir "E:/tmp/32"mkdir "E:/tmp/64" echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%echo.echo start auto test ...set exePath=E:/tmp/api_x64/binif "%1"=="32" set exePath=E:/tmp/api_x86/binif "%1"=="64" set exePath=E:/tmp/api_x64/bin:: echo %1set srcImagePath=E:/tmp/testImagesset dstImagePath=E:/tmp/%1:: echo %dstImagePath%set txtOutput=%dstImagePath%/result.txt:: echo %txtOutput%echo A.exe >> %txtOutput%start /b /wait %exePath%/A.exe %srcImagePath%/cat.jpg %dstImagePath%/result_cat.jpg >> %txtOutput%echo A.exe %errorlevel%echo.echo B.exe >> %txtOutput%start /b /wait %exePath%/B.exe %srcImagePath%/dog.jpg 10 20 %dstImagePath%/result_dog.jpg >> %txtOutput%echo B.exe %errorlevel%echo.echo end auto test ...

參考文獻:

1.      http://baike.baidu.com/link?url=aYmX7ckGvNQkGaoApTIaa8oxivfLb8ygosyVNrM0DkE5I5mR0AhJGvLtwyZAiC6L3QYlk-YXggwYghWcyfQbxq

2.      http://wenku.baidu.com/link?url=SbWxLyV0sjiDgk0Cv5A0GzpR5x-d10xF1qfSbVi_p5OZ6xaZb2sw2tB14hcpuIh9smL2G76ViEiGO64VSMyHU-d3aseY_lSskYgApu3E3jm

Windows下批次檔(.bat)的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.