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