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"

posted @ 2018-01-10 09:37  牧 天  阅读(294)  评论(0)    收藏  举报