|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『楼 主』:
求助:下例中,如何给10的整数倍赋值?
For /L %%f in (1,1,31) Do if %%f == 10的整数倍 (echo 10的倍数) else (echo %%f)
pause
又记:
原来设想用 if %%f ==%%f/10*10,可惜不接受。
[ Last edited by lummox on 2008-8-10 at 09:17 PM ]
|
|
2008-8-10 11:59 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2008-8-10 12:22 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
3 楼』:
谢谢楼上的朋友。
看了你介绍的帖子,测试了一下,还是执行不通。望再赐教。
|
|
2008-8-10 12:32 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
|
2008-8-10 17:26 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2008-8-10 18:51 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
6 楼』:
看到了:
『第 5 楼』:
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------
for/l %f in (1,1,20) if %@eval[%f %% 5]==0 echo %f
注:请在 4DOS 下运行
但我要求是在XP的 dos 窗口下运行。
|
|
2008-8-10 19:10 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
7 楼』:
上面的语句中, if %@eval[%f %% 5]==0执行不通
|
|
2008-8-10 19:14 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2008-8-10 19:19 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by DOSforever at 2008-8-10 07:19 PM:
在 WindowsXP 下可用 4NT 或 Take Commander ,它们是 4DOS 在 Windows 下的继承。 |
|
谢您的热心回复:)
我的问题还没得到解答,我只求在DOS下的解决方案。
|
|
2008-8-10 21:21 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2008-8-10 21:37 |
|
|
shqf
初级用户
积分 35
发帖 18
注册 2008-8-10
状态 离线
|
『第
11 楼』:
第一种方法,根据10的倍数个位上都是0的特点,利用SET提取个位数字再作判断(不具有通用性):
@echo off&setlocal enabledelayedexpansion
for /L %%f in (1,1,31) Do (set a=%%f&if !a:~-1! equ 0 (echo %%f是10的倍数) else (echo %%f))
pause
第二种方法,利用%作取余运算,再作判断(具有通用性,如要输出3的倍数等等也行):
@echo off&setlocal enabledelayedexpansion
for /L %%f in (1,1,31) Do (set /a a=%%f%%10&if !a! equ 0 (echo %%f是10的倍数) else (echo %%f))
pause
[ Last edited by shqf on 2008-8-10 at 11:04 PM ]
|
|
2008-8-10 23:02 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
12 楼』:
是这样的:我写了一个批处理文件,要用到与提问类似的一句代码,尽管这句代码完全可以用别的语句组实现,但对于我来说,就等于预见问题绕开问题,而不是解决问题,所以才来求教的。
|
|
2008-8-11 02:06 |
|
|
lummox
初级用户
积分 28
发帖 14
注册 2008-2-29
状态 离线
|
『第
13 楼』:
谢谢11楼朋友的回复,可,还是执行不通的
|
|
2008-8-20 17:23 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
14 楼』:
@echo off&setlocal EnableDelayedExpansion
for /L %%a in (1,1,31) do (
set /a re=%%a%%10
if "!re!" == "0" (echo %%a是 10 的整数倍) else (echo %%a)
)
pause
|
|
2008-8-21 07:07 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
15 楼』:
把14楼的代码保存为xxx.bat
双击运行
|
|
|
2008-8-22 09:59 |
|