bat choice
@echo off :begin echo 1. select 1 echo 2. select 2 echo 3. select 3 echo 4. select 4 choice /c:1234 /m:"please select" if %errorlevel%==4 goto end if %errorlevel%==3 goto three if %errorlevel%==2 goto two if %errorlevel%==1 goto one :one echo 111 rem pause>nul goto begin :two echo 222 rem pause>nul goto begin :three echo 333 rem pause>nul goto begin
:end
C:\Users\c00390379\Desktop>ZZZ.bat
1. select 1
2. select 2
3. select 3
4. select 4
please select [1,2,3,4]?1
111
1. select 1
2. select 2
3. select 3
4. select 4
please select [1,2,3,4]?3
333
1. select 1
2. select 2
3. select 3
4. select 4
please select [1,2,3,4]?4
-------------------------------------------------------------------
if errorlevel 值 cmmand 句式时,它的含义是:如果返回的错误码值大于或等于值的时候,将执行cmmand操作;
if %errorlevel%==值 cmmand 句式时,它含义是:如果返回的错误码值等于值 的时候,将执行cmmand操作。
@ECHO OFF XCOPY C:\UserData.log D:\ echo %ERRORLEVEL% IF ERRORLEVEL 4 goto e IF ERRORLEVEL 3 goto d IF ERRORLEVEL 2 goto c IF ERRORLEVEL 1 goto b IF ERRORLEVEL 0 goto a :a echo 你成功拷贝文件--- goto end :b echo 未找到拷贝文件--- goto end :c echo 用户通过ctrl-c中止拷贝操作--- goto end :d echo 预置错误阻止文件拷贝操作--- goto end :e echo 拷贝过程中写盘错误--- goto end :end
最好的写法还是 if %errorlevel%==值 cmmand
%i 在 for 语句中显式声明,%j 和 %k 是通过tokens= 选项隐式声明的。可以通过 tokens= 一行指定最多 26 个符号,只要不试图声明一个高于字母 "z" 或
"Z" 的变量。请记住,FOR 变量是单一字母、分大小写和全局的变量;而且,不能同时使用超过 52 个。
语法形式: SET [variable=[string]] SET /P variable=[promptString] SET /A expression set X=5 set /p var=请输入你的名字: echo 您的名字是:%var% pause /A 命令行开关指定等号右边的字符串为被评估的数字表达式。 set /a var=1 + 1
如果没有/a 则var为字符串"1 + 1"