sth about "批處理文件"

最近想學點windows下批處理文件(.bat)知識,

批處理文件是由一個或一個以上的DOS命令及可執行命令組成的帶有擴展名.BAT的文件。當用戶以批處理文件名爲命令時,DOS會自動依次執行文件中的命令。批處理文件的特點是一次建立可多次執行。

在批處理文件中有一個特殊的批處理文件,每次啓動計算機時,系統自動執行該文件中的每一條命令。該文件必須滿足兩個條件:一是文件名爲AUTOEXEC.BAT,二是該文件的位置必須放在啓動盤(也可稱爲系統盤)的根目錄下。:-) 注:這是在以前的98, 2000系統中的說明,在xp中要使用開機自動運行批處理文件必須在run"gpedit.msc">>計算機配置>>windows設置>>Scripts(startup/shutdown) 裏add一個批處理文件,當然文件名可以取autoexec.bat。不過完全可以通過新建一個批處理文件a.bat, 再在啓動文件夾(startup,在開始菜單裏)裏添加a.bat的快捷方式。呵呵,跑題了

在批處理文件中除了使用DOS命令之外,還可使用批處理子命令,這些命令也可看作DOS的內部命令。 echo、@、call、pause、rem 是批處理文件最常用的幾個命令,我們就從他們開始學起。 echo 表示顯示此命令後的字符
echo off 表示在此語句後所有運行的命令都不顯示命令行本身
@ 與echo off相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。
call 調用另一條批處理文件(如果直接調用別的批處理文件 ,執行完那條文件後將無法執行當前文件後續命令)
pause 運行此句會暫停,顯示Press any key to continue... 等待用戶按任意鍵後繼續
rem 表示此命令後的字符爲解釋行,不執行,只是給自己今後查找用的

批處理文件中還可以像C語言一樣使用參數,這隻需用到一個參數表示符%。
   %表示參數,參數是指在運行批處理文件時在文件名後加的字符串,例如在cmd裏輸入語句 "a.bat para1 para2 para3"。變量可以從 %0到%9,%0表示文件名本身,字符串用%1到%9順序表示;即在a.bat 文件內部就可以用 %0指代a.bat, %1指代第一個參數para1, ...

if goto choice for 是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。
這裏只介紹後兩個:

choice 使用此命令可以讓用戶輸入一個字符,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字符,之間無空格。它的返回碼爲1234……

如: choice /c:dme defrag,mem,end
將顯示
defrag,mem,end[D,M,E]?

例如,test.bat的內容如下:

@echo off 
choice /c:dme defrag,mem,end 
if errorlevel 3 goto defrag 應先判斷數值最高的錯誤碼
if errorlevel 2 goto mem 
if errotlevel 1 goto end 

:defrag 
c:
dosdefrag 
goto end 

:mem 
mem 
goto end 

:end 
echo good bye



此文件運行後,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然後if語句將作出判斷,d表示執行標號爲defrag的程序段,m表示執行標號爲mem的程序段,e表示執行標號爲end的程序段,每個程序段最後都以goto end將程序跳到end標號處,然後程序將顯示good bye,文件結束。

however , 在windows xp 下試驗的時候發現choice 命令
  'choice' is not recognized as an internal or external command,operable program or batch file.
是不是還要在system32下添加什麼choice.com或choice.exe? 暈。。。累了,call it a day!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章