回复 3# zjpwang
if !m! equ %c%+1
if语句里面不支持算数运算,你这个条件永远不会成立。做个简单的试验就知道:- @echo off
- set a=2
- set b=1
- if %a% equ %b%+1 (
- echo yes
- ) else (
- echo no
- )
- pause
复制代码 geq表示大于等于,equ表示等于。观察一下变量的值就知道equ在逻辑上无法实现你的想法:- @echo off
- setlocal enabledelayedexpansion
- set /p a=输入整数大于0:
- set /p b=输入整数小于a:
- set /a c=a/b
- set /a d=a-c*b
- set /a m=0,n=1
-
- for /l %%i in ( 1 1 %a% ) do (
- echo %%i >>abc-!n!.txt
- set /a m=m+1
- echo !m! --- %d% --- %c% --- !n!
- if !n! leq %d% (
- echo in if 1
- if !m! equ %c%+1 (
- echo in if 2
- set m=0
- set /a n=n+1
- )
- ) else (
- echo in else
- if !m! equ %c% (
- set m=0
- if !n! lss %b% (set /a n=n+1)
- )
- )
- )
- paues
复制代码
|