关于批处理IF的用法
setchoice=set/pchoice=请选择:IFNOT"%Choice%"==""SETChoice=%Choice:~0,1%if/i"%choice%"=="...
set choice=
set /p choice= 请选择:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto start2
if /i "%choice%"=="2" goto start3
if /i "%choice%"=="3" goto ip
if /i "%choice%"=="4" goto other
if /i "%choice%"=="5" goto oem
if /i "%choice%"=="6" goto virus
if /i "%choice%"=="7" goto del
if /i "%choice%"=="8" goto end
在这一段中:IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%这一句有什么用我不懂,如果没有这一句会怎么样? 展开
set /p choice= 请选择:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto start2
if /i "%choice%"=="2" goto start3
if /i "%choice%"=="3" goto ip
if /i "%choice%"=="4" goto other
if /i "%choice%"=="5" goto oem
if /i "%choice%"=="6" goto virus
if /i "%choice%"=="7" goto del
if /i "%choice%"=="8" goto end
在这一段中:IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%这一句有什么用我不懂,如果没有这一句会怎么样? 展开
2个回答
展开全部
加上这句没啥实际意义,是取用户输入的第一个数为值。
应该是怕用户输入不止一个数,如用如输入:1abc,则只取1abc里面的1
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
如果%Choice%的值不为空,则重新给它赋新值,新值为它原来值的第一位。
意思是如果%Choice%的值如果是123,那么取123里的1重新赋值给%Choice%
Choice=%Choice:~0,1%
提取%Choice%变量的值,上句代码中的0是指从第0位开始提取,1是指向后取1位字符。
(变量值第一位是从0开始算起)
应该是怕用户输入不止一个数,如用如输入:1abc,则只取1abc里面的1
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
如果%Choice%的值不为空,则重新给它赋新值,新值为它原来值的第一位。
意思是如果%Choice%的值如果是123,那么取123里的1重新赋值给%Choice%
Choice=%Choice:~0,1%
提取%Choice%变量的值,上句代码中的0是指从第0位开始提取,1是指向后取1位字符。
(变量值第一位是从0开始算起)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询