Board logo

标题: [其他] 批处理if errorlevel能否在for循环中使用? [打印本页]

作者: li495388759    时间: 2022-3-5 19:30     标题: 批处理if errorlevel能否在for循环中使用?

setlocal enabledelayedexpansion

set z=Word Excel PowerPoint Access Groove Lync OneDrive OneNote Outlook Publisher Teams

for %%k in (%z% i) do set %%k=0

choice /n /c 123456789qw /m 请选择:
if errorlevel 11 set j=Teams&goto zj3
if errorlevel 10 set j=Publisher&goto zj3
if errorlevel 9 set j=Outlook&goto zj3
if errorlevel 8 set j=OneNote&goto zj3
if errorlevel 7 set j=OneDrive&goto zj3
if errorlevel 6 set j=Lync&goto zj3
if errorlevel 5 set j=Groove&goto zj3
if errorlevel 4 set j=Access&goto zj3
if errorlevel 3 set j=PowerPoint&goto zj3
if errorlevel 2 set j=Excel&goto zj3
if errorlevel 1 set j=Word&goto zj3

:zj3
if !%j%!==0 (set %j%=1
set /a i+=1) else (set %j%=0
set /a i-=1)


有没有可能在for循环把if errorlevel 1-11这个判断完成呢?
作者: idwma    时间: 2022-3-5 20:01

本帖最后由 idwma 于 2022-3-5 21:14 编辑
  1. setlocal enabledelayedexpansion
  2. set z=Word Excel PowerPoint Access Groove Lync OneDrive OneNote Outlook Publisher Teams
  3. for %%k in (%z% i) do set %%k=0
  4. choice /n /c 123456789qw /m 请选择:
  5. set a=%errorlevel:10=:%
  6. set a=%a:11=;%
  7. for /f "tokens=1-11" %%1 in ("%z%") do set j=%%%a%&goto zj3
  8. :zj3
  9. if !%j%!==0 (set %j%=1
  10. set /a i+=1) else (set %j%=0
  11. set /a i-=1)
复制代码

作者: li495388759    时间: 2022-3-5 20:37

回复 2# idwma


set errorlevel=%errorlevel:10=:%
set errorlevel=%errorlevel:11=;%
这两句删掉,1-9才能正常使用,但10和11不正常
作者: li495388759    时间: 2022-3-5 23:16

回复 2# idwma


    可以运行了,谢谢
但就是看不懂这两句
set a=%errorlevel:10=:%
set a=%a:11=;%
万一我还来个12、13什么的,怎么弄
作者: idwma    时间: 2022-3-6 12:21

回复 4# li495388759
  1. setlocal enabledelayedexpansion
  2. set z=Word Excel PowerPoint Access Groove Lync OneDrive OneNote Outlook Publisher Teams
  3. for %%k in (%z% i) do (
  4. set /a a+=1
  5. set !a!=%%k
  6. set %%k=0
  7. )
  8. choice /n /c 123456789qw /m 请选择:
  9. set j=!%errorlevel%!&goto zj3
  10. :zj3
  11. if !%j%!==0 (set %j%=1
  12. set /a i+=1) else (set %j%=0
  13. set /a i-=1)
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2