天天看點

從入門到學廢:批處理Choice指令詳解

作者:80後生啊

Choice指令是Windows指令提示符中非常常用的指令之一。它可以讓使用者選擇是否繼續執行程式或指令。在批進行中,這非常有用,因為我們可以讓使用者确認他們是否要繼續執行某個操作。在本文中,我們将詳細介紹Choice指令及其使用方法,以確定你能夠輕松地使用它。

從入門到學廢:批處理Choice指令詳解

一、使用文法

Choice指令的文法非常簡單。下面是一個基本的文法示例:

choice /C CQ /M "繼續選C or 退出選Q?"

從入門到學廢:批處理Choice指令詳解

這個指令的含義是讓使用者選擇繼續執行程式還是退出程式。使用者可以按下C來繼續執行程式,按下Q則會退出。

指令的文法包括以下幾個參數:

/C:指定可用的選項清單,讓使用者從中選擇。在上述示例中,選項清單是“XQ”。

/M:指定提示消息,告訴使用者在選擇之前應該選擇哪些選項。

從入門到學廢:批處理Choice指令詳解

二、Choice指令的實際應用

考慮一個簡單的例子。假設我們正在寫一個批處理腳本來删除舊檔案,并在執行之前提示使用者進行确認。Choice指令将非常有用。以下是一個示例腳本:

@echo off

echo 此批處理檔案将删除所有超過7天的log檔案.

choice /C YN /N /M "你确定要繼續嗎?"

if errorlevel 2 goto end

If exist C:\*.log (

del C:\*.log /q

) else (

echo 找不到log檔案!

)

pause>nul

:end

此腳本首先詢問使用者是否要繼續執行腳本。

/N:通常情況下,Choice指令會在使用者選擇選項後輸出相應的字元(比如顯示:[Y, N])。但是,通過使用此參數,我們可以禁用此輸出。

如果選擇“N”,則不會删除日志檔案。語句“if errorlevel 2 goto end”訓示腳本跳轉到“end”标簽(即腳本的結尾),進而避免删除日志檔案。

如果選擇“Y”,則删除日志檔案”。

從入門到學廢:批處理Choice指令詳解

三、Choice指令的進階選項

通過使用Choice指令的進階選項,我們可以對使用者在選擇選項時的響應進行更精細的控制。以下是一些例子:

1. 重試選項

有時,使用者可能會誤選了一些選項,如輸入了錯誤的指令。在這種情況下,我們可以向使用者提供一個“重試”選項,以便他們再次選擇正确選項。以下是一個帶有重試選項的示例腳本:

@echo off

:retry

choice /C ABRC /N /M "請輸入字元: A, B, R or C"

if errorlevel 4 goto C

if errorlevel 3 goto retry

if errorlevel 2 goto B

if errorlevel 1 goto A

:A

echo 你選的是: A.

pause>nul

goto end

:B

echo 你選的是: B.

pause>nul

goto end

:C

echo 你選的是: C.

pause>nul

goto end

在這個例子中,如果使用者選擇錯誤選項(比如,選R),則會提供“重試”選項,讓使用者再次選擇正确選項。

從入門到學廢:批處理Choice指令詳解

2. 逾時選項

如果在選擇選項時使用者不作出決定,我們可以為Choice指令添加一個逾時選項。以下是一個示例腳本:

@echo off

:retry

choice /C AB /T 5 /D B /N /M "請選擇 A or B. 如果未作選擇,将在5秒後選B哦!"

if errorlevel 2 goto B

if errorlevel 1 goto A

:A

echo 你選的是:A.

pause>nul

goto end

:B

echo 你選的是:B.

pause>nul

goto end

在上述示例中,如果使用者按下Enter鍵而沒有選擇選項,則預設選項B将被選擇。/T和/D參數用于為Choice指令添加逾時選項和預設選項。/T 5表示在沒有使用者響應時等待5秒,/D B表示預設選項為B。

從入門到學廢:批處理Choice指令詳解

3. 編号選項

除了字母清單,Choice指令還允許制定數字清單作為選項清單。以下是一個示例腳本:

@echo off

:retry

choice /C 123 /N /M "請輸入一個數值:"

if errorlevel 3 goto three

if errorlevel 2 goto two

if errorlevel 1 goto one

:one

echo 你選的是: 1.

pause>nul

goto end

:two

echo 你選的是: 2.

pause>nul

goto end

:three

echo 你選的是: 3.

pause>nul

goto end

這個示例腳本使用數字清單1、2、3作為選項清單。根據使用者的選擇,程式将跳轉到不同的标簽進行進一步處理。

從入門到學廢:批處理Choice指令詳解

四、總結

在批進行中,Choice指令是一個非常有用的工具,它可以讓使用者選擇是否繼續執行程式或指令。通過使用Choice指令,我們可以控制程式的流程,以便它在使用者的确認下才會執行某些具有風險的操作。Choice指令還允許我們添加各種選項,如重試選項、逾時選項和編号選項,以使程式更加靈活和易于使用。如果你想要寫出一個更加友好和安全的批處理程式,不要忘記利用Choice指令來控制使用者的選擇。

繼續閱讀