[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @choice/c abcdefghijklmnopqrstuvwxyz1 /t 10 /d 1 >nul||if errorlevel 27 cmd
复制代码

TOP

  1. @for /l %%a in (10,-1,0)do @cls&echo %%a&choice/c abcdefghijklmnopqrstuvwxyz1 /t 1 /d 1 >nul||if errorlevel 27 (if %%a==0 calc)else exit/b
复制代码

[ 本帖最后由 rat 于 2008-10-22 17:10 编辑 ]
3

评分人数

TOP

回复 17楼 的帖子

请参考if /?和choice /?
if errorlevel 27 cmd相当于if %errorlevel% gtr 27,即大于或等于27(27表示字符1,前面的字符依次递减——这个值由choice命令返回,一言难尽,请参考choice /?).

关于||:(如A || B)
一般可以理解为如果A执行成功则不执行B;如果A执行失败则执行B。
而事实上,B能不能执行其实依赖于errorlevel的值——如果执行A后errorlevel的值为0(一般表示执行成功),则不会执行B;否则会执行B。而choice命令执行后使得errorlevel的值>=1,所以一定会执行||后的命令。
(说完累倒……)
2

评分人数

TOP

返回列表