dos命令行choice命令使用詳解
Choice 命令
使用此命令可以讓用戶輸入一個(gè)字符,從而運(yùn)行不同的命令。使用時(shí)應(yīng)該加/c:參數(shù),c:后應(yīng)寫提示可輸入的字符,之間無空格。它的返回碼為1234……。這個(gè)命令在有些Windows版本(比如WindowsXP)上可能不可用。
語法:
CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數(shù)] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字符敏感方式,/T表示若在批定的時(shí)間內(nèi)沒有選擇的話,自動(dòng)執(zhí)行/C中定義的某個(gè)選擇值。顯示文本是CHOICE命令執(zhí)行時(shí)的提示信息。選擇結(jié)果將用ERRORLEVEL值來表示。
示例:
@echo off choice /c:dme defrag,mem,end if errorlevel 3 goto defrag REM 應(yīng)先判斷數(shù)值最高的錯(cuò)誤碼 if errorlevel 2 goto mem if errorlevel 1 goto end :defrag c:\dos\defrag goto end :mem mem goto end :end echo good bye
此文件運(yùn)行后,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然后if語句將作出判斷,d表示執(zhí)行標(biāo)號(hào)為defrag的程序段,m表示執(zhí)行標(biāo)號(hào)為mem的程序段,e表示執(zhí)行標(biāo)號(hào)為end的程序段,每個(gè)程序段最后都以goto end將程序跳到end標(biāo)號(hào)處,然后程序?qū)@示good bye,文件結(jié)束。
可替換的命令
對(duì)WindowsXP上不能使用CHOICE命令的情形,如果想使用相似的功能,可以使用 SET 命令,參見Set 命令 /P選項(xiàng)。
choice一般在cmd批處理中用來根據(jù)用戶輸入執(zhí)行不同的操作,非常實(shí)用,例如
下面是兩個(gè)軟件根據(jù)用戶選擇來執(zhí)行
@echo off 遠(yuǎn)程協(xié)助工具集 :start cls color 0a MODE con: COLS=60 LINES=20 echo. echo =============================== echo 請(qǐng)選擇遠(yuǎn)程工具 echo =============================== echo. echo 1. AnyDesk echo. echo 2. TeamViewer echo. echo. :cho set choice= set /p choice= 請(qǐng)輸入工具編號(hào): IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1% if /i "%choice%"=="1" goto AnyDesk if /i "%choice%"=="2" goto TeamViewer :AnyDesk AnyDesk.exe exit :TeamViewer TeamViewer.exe exit
下面來介紹一下choice的命令使用
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述:
該工具允許用戶從選擇列表選擇一個(gè)項(xiàng)目并返回所選項(xiàng)目的索引。
參數(shù)列表:
/C choices 指定要?jiǎng)?chuàng)建的選項(xiàng)列表。默認(rèn)列表是 "YN"。
/N 在提示符中隱藏選項(xiàng)列表。提示前面的消息得到顯示,選項(xiàng)依舊處于啟用狀態(tài)。
/CS 允許選擇分大小寫的選項(xiàng)。在默認(rèn)情況下,這個(gè)工具是不分大小寫的。
/T timeout 做出默認(rèn)選擇之前,暫停的秒數(shù)??山邮艿闹凳菑?0到 9999。如果指定了 0,就不會(huì)有暫停,默認(rèn)選項(xiàng)會(huì)得到選擇。
/D choice 在 nnnn 秒之后指定默認(rèn)選項(xiàng)。字符必須在用 /C 選項(xiàng)指定的一組選擇中; 同時(shí),必須用 /T 指定 nnnn。
/M text 指定提示之前要顯示的消息。如果沒有指定,工具只顯示提示。
/? 顯示此幫助消息。
注意:
ERRORLEVEL 環(huán)境變量被設(shè)置為從選擇集選擇的鍵索引。列出的第一個(gè)選擇返回 1,第二個(gè)選擇返回 2,等等。如果用戶按的鍵不是有效的選擇,該工具會(huì)發(fā)出警告響聲。如果該工具檢測(cè)到錯(cuò)誤狀態(tài),它會(huì)返回 255 的ERRORLEVEL 值。如果用戶按 Ctrl+Break 或 Ctrl+C 鍵,該工具會(huì)返回 0 的 ERRORLEVEL 值。在一個(gè)批程序中使用 ERRORLEVEL 參數(shù)時(shí),將參數(shù)降序排列。
示例:
CHOICE /?
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。"
CHOICE /C ab /N /M "選項(xiàng) 1 請(qǐng)選擇 a,選項(xiàng) 2 請(qǐng)選擇 b。"
下面是來自國外網(wǎng)站的介紹
The CHOICE command was introduced in MS-DOS 6 and is still available in MS-DOS 7 (Windows 95/98).
In Windows NT 4, 2000 and XP, CHOICE is no longer a part of the standard distribution. It is, however, available as part of the Windows NT 4 Resouce Kit.
On the other hand, if you still have that old unused MS-DOS 6 or Windows 95/98 version lying around, you can use the CHOICE.COM from that version instead. (*)
Just copy it to a directory that is in your PATH.
Note: 16-bit DOS versions will not work in 64-bit Windows versions.
CHOICE is available again in Windows Vista and later versions.
大部分意思就是 這個(gè)命令會(huì)在以后的系統(tǒng)中一直存在,但注意16位的系統(tǒng)無法在64位系統(tǒng)自帶了,而我們安裝的64位系統(tǒng)已經(jīng)集成了64的choice命令,大家可以放心使用。
注釋
ERRORVALUE 環(huán)境變量被設(shè)置為用戶從選擇列表中選擇的鍵的索引。您指派的第一個(gè)鍵將返回值 1,第二個(gè)將返回值 2,第三個(gè)將返回值 3,依此類推。如果用戶按下一個(gè)不在您指派的鍵中間的鍵,Choice.exe 將發(fā)出警告聲(即,它向控制臺(tái)發(fā)送一個(gè) BEL 或 07h 字符)。如果 Choice.exe 檢測(cè)到錯(cuò)誤情況,它就會(huì)返回錯(cuò)誤值 255。如果用戶按 Ctrl+Break 或 Ctrl+C,Choice.exe 就會(huì)返回錯(cuò)誤值 0。當(dāng)您在批處理程序中使用錯(cuò)誤值參數(shù)時(shí),請(qǐng)將它們以降序列出。
示例
請(qǐng)?jiān)谂幚砦募墟I入下列語法:
choice /c ync
運(yùn)行 Choice.exe 時(shí)出現(xiàn)下列語句:
[Y,N,C]?
請(qǐng)?jiān)谂幚砦募墟I入下列語法:
choice /c ync /n /m Yes, No or Continue?
運(yùn)行 Choice.exe 時(shí)出現(xiàn)下列語句:
Yes, No, or Continue?
按如下方式將文字添加到語法中:
choice /c ync /m Yes, No, or Continue
運(yùn)行 Choice.exe 時(shí)出現(xiàn)下列語句:
Yes, No, or Continue [Y,N,C]?
/t 命令行選項(xiàng)將設(shè)置一個(gè)時(shí)間限制(在該限制內(nèi)用戶必須響應(yīng)),并指定當(dāng)用戶在該時(shí)間限制內(nèi)沒有作出響應(yīng)時(shí)將顯示的值。要將時(shí)間限制設(shè)置為五秒并指定 N 作為默認(rèn)值,請(qǐng)?jiān)谂幚沓绦蛑墟I入下列命令行:
choice /c ync /t 5 /d n
當(dāng)批處理文件啟動(dòng) Choice.exe 時(shí),將出現(xiàn)下列消息:
[Y,N,C]?
如果用戶未能在五秒鐘內(nèi)按下一個(gè)鍵,Choice.exe 將選擇 N 并返回錯(cuò)誤值 2。否則,Choice 將返回與用戶所選對(duì)應(yīng)的值。
欄 目:DOS/BAT
下一篇:oracle、mysql數(shù)據(jù)庫停止與啟動(dòng)的批處理文件
本文標(biāo)題:dos命令行choice命令使用詳解
本文地址:http://mengdiqiu.com.cn/a1/DOS_BAT/10025.html
您可能感興趣的文章
- 01-10DOS下查看硬盤分區(qū)該使用什么命令
- 01-10再談DOS批處理下格式化日期字符串的三種方法(詳解)
- 01-10dos命令行不能輸入中文怎么辦該如何解決
- 01-10dos批處理文件中的變量小結(jié)
- 01-10DOS中的pause命令簡(jiǎn)介
- 01-10dos中RD命令遞歸刪除目錄的代碼
- 01-10DOS下如何聲明變量(定義變量)
- 01-10dos變量定義和引用方法
- 01-10dos下通過wmic命令查看硬盤和內(nèi)存/CPU信息(windows自帶命令查看硬件
- 01-10CMD命令行將當(dāng)前磁盤所有文件名寫入到文本文件的方法


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10DOS下查看硬盤分區(qū)該使用什么命令
- 01-10使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安
- 01-10后臺(tái)運(yùn)行bat定時(shí)器程序示例分享
- 01-10通過批處理修改DNS的代碼(推薦)
- 01-10dota2服務(wù)器ping測(cè)試腳本分享
- 01-10再談DOS批處理下格式化日期字符串的
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)
- 01-10win7怎么設(shè)定關(guān)閉顯示器時(shí)間
- 01-10屏蔽up鍵禁止游戲運(yùn)行腳本分享
- 01-10win7創(chuàng)建wifi熱點(diǎn)腳本分享
隨機(jī)閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改