DOS批处理中的逻辑运算符(“和”,“或”)

您将如何在DOS Batch文件中实现逻辑运算符?



holdtom
浏览 2245回答 3
3回答

忽然笑

您可以and使用嵌套条件:if %age% geq 2 (    if %age% leq 12 (        set class=child    ))要么:if %age% geq 2 if %age% leq 12 set class=child您可以or使用一个单独的变量:set res=Fif %hour% leq 6 set res=Tif %hour% geq 22 set res=Tif "%res%"=="T" (    set state=asleep)

胡子哥哥

该IF语句不支持逻辑运算符(AND和OR),级联IF语句进行隐式连接。IF Exist File1.Dat IF Exist File2.Dat GOTO FILE12_EXIST_LABEL如果File1.Dat 和 File1.Dat存在,则跳转标签FILE12_EXIST_LABEL。

MM们

德摩根定律允许我们仅使用连词(“与”)和否定(“非”)将析取词(“ OR”)转换为逻辑等价物。这意味着我们可以将析取词(“ OR”)链接到一条线上。这意味着如果名称是“ Yakko”或“ Wakko”或“ Dot”,则回显“ Warner兄弟姐妹”。set warner=trueif not "%name%"=="Yakko" if not "%name%"=="Wakko" if not "%name%"=="Dot" set warner=falseif "%warner%"=="true" echo Warner brother or sister这是paxdiablo的“ OR”示例的另一个版本,但条件链接到一行。(请注意,leqis gtr的反义词与geqis 的反义词lss。)set res=trueif %hour% gtr 6 if %hour% lss 22 set res=falseif "%res%"=="true" set state=asleep
打开App,查看更多内容
随时随地看视频慕课网APP