2024年1月16日发(作者:)

批处理choice实例

批处理Choice实例

随着计算机技术的不断发展,批处理已成为程序开发中一个重要的环节。在批处理中,Choice命令是非常重要的一个命令。它可以通过设置一个或多个选项,让计算机根据用户的选择进行不同的操作。下面将介绍几个Choice命令的实例。

一、基本实例

Choice命令最基本的用法就是根据用户的选择执行不同的操作。下面是一段示例代码:

@echo off

echo 请选择以下操作:

echo 1. 创建一个新文件夹

echo 2. 删除一个文件夹

echo 3. 复制一个文件夹

choice /c 123 /n

if errorlevel 3 goto copy

if errorlevel 2 goto delete

if errorlevel 1 goto create

:create

echo 请输入要创建的文件夹名称:

set /p foldername=

mkdir %foldername%

goto end

:delete

echo 请输入要删除的文件夹名称:

set /p foldername=

rd /s /q %foldername%

goto end

:copy

echo 请输入要复制的文件夹名称:

set /p foldername=

echo 请输入要复制到的目录:

set /p todir=

xcopy %foldername% %todir% /e /h /i

:end

echo 操作已完成!

这段代码首先通过Echo命令向用户展示可选操作,并使用Choice命令提供选项。接下来,根据用户的选择分别跳转到不同的代码块。例如,如果用户选择了“2”,则会跳转到Delete模块,询问用户要删除哪个文件夹,然后删除它。

二、带有默认选项的实例

有时候,在Choice命令中设置默认选项也是有用的。例如,假设我们编写了一个批处理脚本来检查远程计算机是否正在运行。如果用户在

规定时间内没有给出任何响应,则默认会选择“否”。

下面是一个例子:

@echo off

echo 是否连接远程计算机?

echo 1. 是

echo 2. 否

choice /c 12 /t 10 /d 2 /n

if errorlevel 2 goto end

echo 连接中...

:: 连接代码

echo 连接成功!

:end

这段代码使用Choice命令设置了两个选项,然后使用/t参数设置了最

多等待10秒钟。如果在规定时间内没有选择任何选项,Choice命令会默认选择第二个选项,即“否”。

三、循环实例

在某些情况下,需要多次使用Choice命令。例如,在复制大量文件的批处理脚本中,需要询问用户是否想要跳过某些文件。

下面是一段循环使用Choice命令的示例代码:

@echo off

setlocal enabledelayedexpansion

set files=

set /a counter=0

:: 读取文件列表

for /R %%i in (*.txt) do (

set /a counter+=1

set files=!files!%%i|

)

:: 获取用户选择

echo 是否跳过以下文件?

echo !files!

:choice

choice /c yn /n

if errorlevel 2 goto continue

:: 删除文件

set /a index=1

for /f "tokens=* delims=|" %%i in ("!files!") do (

if !index!==!counter! goto end

if errorlevel !index! (

echo 删除"%%i"...

del "%%i"

)

set /a index+=1

)

goto end

:continue

set /a index=1

for /f "tokens=* delims=|" %%i in ("!files!") do (

if !index!==!counter! goto end

if errorlevel !index! (

echo 跳过"%%i"...

)

set /a index+=1

)

goto choice

:end

echo 操作已完成!

这段代码首先读取所有.txt文件的列表,然后使用Choice命令询问用户是否要跳过它们。如果用户选择“否”,则删除文件。如果用户选择“是”,则跳过它。如果用户没有选择任何选项,则会一直循环,直到做出选择。

总结

Choice命令是批处理中一个非常强大的工具。在上面的例子中,我们看到了它的用法。当然,这只是Choice命令的冰山一角。如果您还没有使用过Choice命令,请务必仔细学习它的用法。