关于批处理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%这一句有什么用我不懂,如果没有这一句会怎么样?
展开
 我来答
丨情冇独钟丨
2008-12-18 · TA获得超过6220个赞
知道大有可为答主
回答量:2188
采纳率:50%
帮助的人:3459万
展开全部
加上这句没啥实际意义,是取用户输入的第一个数为值。
应该是怕用户输入不止一个数,如用如输入: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开始算起)
百度网友b9f2d93
2008-12-18 · TA获得超过994个赞
知道大有可为答主
回答量:1692
采纳率:0%
帮助的人:1204万
展开全部
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%

如果%Choice%不等于空,set Choice变量等于 %Choice:~0,1%

%Choice:~0,1%意思是截取原来Choice变量第一位!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式