2007年12月17日

Bat File

http://eason982.blogspot.com/2007/12/bat.html
一些Windows批次檔(Batch File)專用指令:

1.rem:批次檔的註解,可增加批次檔的閱讀性,類似Java的單行註解//。


2.echo:將文字輸出於螢幕上,類似Java的System.out.print()。


3.echo on:將批次檔內所下的指令全部顯示在螢幕上。


4.echo off:批次檔內所下的指令全部隱藏,不顯示於螢幕上。


5.goto:轉移控制權,可以指示批次檔跳至某一標記。


6.@:前面加上@符號的指令,執行批次檔時不會將指令文字敘述顯示於螢幕上。


7.%:批次檔參數,最多可以有10個參數值(由%1至%10),於批次檔內類似Java

的main(String[] args)參數用法,%1等於args[0]。


8.pause:暫停批次檔的執行,並在螢幕上顯示Press any key to continue。


9.if exist:檢查某一檔案是否存在,若存在則條件成立,執行指定的命令。例n

1
2
3
4

@echo off
rem 檔名:test.bat
if exist Test.java javacBatTest.bat
echo Test.java檔案不存在



1
2
3
4
5
6

@echo off
rem 檔名:javacBatTest.bat
javac Test.java
java Test
echo 程式執行完畢
pause




如果Test.java不存在的話,執行test.bat會顯示出Test.java檔案不存在。
如果Test.java存在的話,執行test.bat時便會呼叫javacBatTest.bat,然後
編譯與執行Test.java並將結果顯示於螢幕上。


10.if 字串1==字串2:2字串相等的話,則執行所指定的指令。

11.if not:當測試條件不成立時才執行後面命令。例:

1
2
3
4
5

@echo off
rem 檔名:test2.bat
if %OS% == Windows_NT echo 此作業系統為NT架構
if not %OS% == Windows_NT echo 此作業系統非NT架構!
pause



如果執行此BAT的作業系統是NT、2000、XP pro則會顯示"此作業系統為NT
架構",如果為98、Me、XP home則會顯示"此作業系統非NT架構"。


12.if errorlevel:由OS所管理的一個系統變數,目的是監視所有錯誤發
生的情況。

13.call:模組化設計,可用來呼叫另一個批次檔,類似java中method的呼叫。


沒有留言: