【正文】
is YN 指定允許的按鍵(待選字符), 默認(rèn)為YN /N Do not display choices and ? at end of prompt string. 不顯示提示字符串中的問(wèn)號(hào)和待選字符 /S Treat choice keys as case sensitive. 處理待選字符時(shí)大小寫(xiě)敏感 /T[:]c,nn Default choice to c after nn seconds 在 nn 秒后默認(rèn)選擇 c text Prompt string to display 要顯示的提示字符串 ERRORLEVEL is set to offset of key user presses in choices. ERRORLEVEL 被設(shè)置為用戶鍵入的字符在待選字符中的偏移值 ================================================================ 如果我運(yùn)行命令:CHOICE /C YNC /M 確認(rèn)請(qǐng)按 Y,否請(qǐng)按 N,或者取消請(qǐng)按 C。 CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M 選項(xiàng) 1 請(qǐng)選擇 a,選項(xiàng) 2 請(qǐng)選擇 b。在一個(gè)批程序中使用 ERRORLEVEL 參數(shù)時(shí),將參數(shù)降 序排列。如果該工具檢測(cè)到錯(cuò)誤狀態(tài),它會(huì)返回 255 的 ERRORLEVEL 值。列出的第一個(gè)選 擇返回 1,第二個(gè)選擇返回 2,等等。 /? 顯示幫助消息。 /M text 指定提示之前要顯示的消息。字符必須在用 /C 選 項(xiàng)指定的一組選擇中。如果指定了 0,就不會(huì)有暫停,默認(rèn)選項(xiàng) 會(huì)得到選擇。 /T timeout 做出默認(rèn)選擇之前,暫停的秒數(shù)。 /CS 允許選擇分大小寫(xiě)的選項(xiàng)。 /N 在提示符中隱藏選項(xiàng)列表。 參數(shù)列表: /C choices 指定要?jiǎng)?chuàng)建的選項(xiàng)列表。 注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語(yǔ)法會(huì)稍有不同,請(qǐng)用choice /?查看用法。setamp。:amp。if... switchamp。endif gotoamp。else{} / ifamp。:amp。: gotoamp。 如: goto end :end echo this is the end 標(biāo)號(hào)用“:字符串”來(lái)定義,標(biāo)號(hào)所在行不被執(zhí)行。 如if errorlevel 2 goto x2 ==== willsort 編注 ==================================================== 返回值從大到小的順序排列不是必須的, 而只是執(zhí)行命令為 goto 時(shí)的習(xí)慣用法, 當(dāng)使用 set 作為執(zhí)行命令時(shí), 通常會(huì)從小到大順序排列, 比如需將返回碼置入環(huán)境變量, 就需使用以下的順序形式: if errorlevel 1 set el=1 if errorlevel 2 set el=2 if errorlevel 3 set el=3 if errorlevel 4 set el=4 if errorlevel 5 set el=5 ... 當(dāng)然, 也可以使用以下循環(huán)來(lái)替代, 原理是一致的: for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e 更高效簡(jiǎn)潔的用法, 可以參考我寫(xiě)的另一篇關(guān)于獲取 errorlevel 的文章 出現(xiàn)此種現(xiàn)象的原因是, if errorlevel 比較返回碼的判斷條件并非等于, 而是大于等于. 由于 goto 的跳轉(zhuǎn)特性, 由小到大排序會(huì)導(dǎo)致在較小的返回碼處就跳出。 因?yàn)樵O(shè)備(device)與文件都是使用句柄(handle)來(lái)管理的, 句柄就是名字, 類(lèi)似于文件名, 只不過(guò)句柄不是應(yīng)用于磁盤(pán)管理, 而是應(yīng)用于內(nèi)存管理而已, 所謂設(shè)備加載也即指在內(nèi)存中為其分配可引用的句柄. ================================================================ if errorlevel 數(shù)字 待執(zhí)行的命令 很多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來(lái)表示程序運(yùn)行的結(jié)果(或者狀態(tài)),通過(guò)if errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來(lái)決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。 如: if exist c:\ type c:\ 表示如果存在c:\,則顯示它的內(nèi)容。 有三種格式: if [not] 參數(shù) == 字符串 待執(zhí)行的命令 參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。 特殊命令 if goto choice for是批處理文件中比較高級(jí)的命令,如果這幾個(gè)你用得很熟練,你就是批處理文件的專家啦。變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用%1到%9順序表示。 批處理文件的內(nèi)容為: 命令注釋: echo off 不顯示后續(xù)命令行及當(dāng)前命令行 dir c:\*.* call c:\ucdos\ 調(diào)用ucdos echo 你好 顯示你好 pause 暫停,等待按鍵繼續(xù) rem 準(zhǔn)備運(yùn)行wps 注釋:準(zhǔn)備運(yùn)行wps cd ucdos 進(jìn)入ucdos目錄 wps 運(yùn)行wps 批處理文件的參數(shù) 批處理文件還可以像C語(yǔ)言的函數(shù)一樣使用參數(shù)(相當(dāng)于DOS命令的命令行參數(shù)),這需要用到一個(gè)參數(shù)表示符“%”。 語(yǔ)法 REM [string] 參數(shù) string 指定要屏蔽的命令或要包含的注解。也可用REM命令來(lái)屏蔽命令( 中也可以用分號(hào)