当前位置: 首页最新资讯 IT业界 → 批处理如何实现类似and 的判断条件

批处理如何实现类似and 的判断条件

更多

for /f  "delims= tokens=1" %%a in ('1.txt') do (
       
        if %%a leq 5120000 and %%b==xxx
        echo %%a
)

想实现这样子的应该怎么写,很多人也许还不知道

其实解决的办法很简单,只要两个if连着用就可以了

即:

if %i% lss 0 (if %j% equ 4 echo xxx)

如果您还想加else

原理也是一样,直接加两个else 就行了

if %i% lss 0 (
  if %j% equ 4 (echo ok
  ) else echo nok
) else echo nok

cmd 下 if 仅能处理最简单的逻辑表达式, set /a 的位运算是针对这个欠缺的补充

@echo off & setlocal enabledelayedexpansion
echo,TEST (i^<0 and j=4)

<nul (
  set /p "= i \ j"
  for /l %%j in (-3 1 6) do set "O=     %%j" & set /p "=!O:~-4!"
  echo,
  for /l %%i in (-2 1 3) do (
    set "O= %%i" & set /p "=!O:~-2!    "
    for /l %%j in (-3 1 6) do (
      set /a i=%%i, j=%%j
      set /a "r=(i>>31) & ^!(j-4)" & rem 31 取值为 cmd 下无符号数的位数 - 1
      if !r! equ 1 (set /p "=   T") else (set /p "=   F")
    )
    echo,
  )
)
pause

 

 

热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)