@echo off
:begin
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
pause>nul
goto begin
:two
echo 222
pause>nul
goto begin
:three
echo 333
pause>nul
goto begin
:end
echo I want to quit
pause>nul
控制字符 说明
%c 一个单一的字符
%d 一个十进制整数
%i 一个整数
%e, %f, %g 一个浮点数
%o 一个八进制数
%s 一个字符串
%x 一个十六进制数
%p 一个指针
%n 一个等于读取字符数量的整数
%u 一个无符号整数
%[] 一个字符集
%% 一个精度符号
"%s" 整个输入作为一个串,并设置末尾的'/0'
"%ns",n为整数,读入的串最长不超过n,然后在末尾补'/0'
%nf 读入的浮点数最多有n位整数,位数多于n,会截断。
"%n[a-z]" 读入最多n个字符,如果遇到非a-z的字符,停止
"%[^=]" 读入任意多的字符,直到遇到"="停止
"%n[^=]" 读入"="号前的至多n 个字符
所有对%s起作用的控制都可以用%[],比如%[0-9]表示只读入'0'到'9'之间的字符,%[a-zA-Z]表示只读入字母,