![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 15:20 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助:下例中,如何给10的整数倍赋值? |
| 可打印版本 1,966 / 16 |
| 第1楼 lummox | 发表于 2008-08-10 11:59 |
| 初级用户 发帖 14 积分 28 | |
|
求助:下例中,如何给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 ] |
|
| 第2楼 DOSforever | 发表于 2008-08-10 12:22 |
| 金牌会员 发帖 2,239 积分 4,639 | |
| 第3楼 lummox | 发表于 2008-08-10 12:32 |
| 初级用户 发帖 14 积分 28 | |
|
谢谢楼上的朋友。
看了你介绍的帖子,测试了一下,还是执行不通。望再赐教。 |
|
| 第4楼 lummox | 发表于 2008-08-10 17:26 |
| 初级用户 发帖 14 积分 28 | |
|
继续等待解答……
|
|
| 第5楼 DOSforever | 发表于 2008-08-10 18:51 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
你有没有看到我在那个帖子里『第 7 楼』的回复?
|
|
| 第6楼 lummox | 发表于 2008-08-10 19:10 |
| 初级用户 发帖 14 积分 28 | |
|
看到了:
『第 5 楼』: CODE: [Copy to clipboard] -------------------------------------------------------------------------------- for/l %f in (1,1,20) if %@eval[%f %% 5]==0 echo %f 注:请在 4DOS 下运行 但我要求是在XP的 dos 窗口下运行。 |
|
| 第7楼 lummox | 发表于 2008-08-10 19:14 |
| 初级用户 发帖 14 积分 28 | |
|
上面的语句中, if %@eval[%f %% 5]==0执行不通
|
|
| 第8楼 DOSforever | 发表于 2008-08-10 19:19 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
在 WindowsXP 下可用 4NT 或 Take Commander ,它们是 4DOS 在 Windows 下的继承。
|
|
| 第9楼 lummox | 发表于 2008-08-10 21:21 |
| 初级用户 发帖 14 积分 28 | |
Originally posted by DOSforever at 2008-8-10 07:19 PM: 谢您的热心回复:) 我的问题还没得到解答,我只求在DOS下的解决方案。 |
|
| 第10楼 DOSforever | 发表于 2008-08-10 21:37 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
4DOS 就是在 DOS 下的,是 COMMAND 的完美替代。
|
|
| 第11楼 shqf | 发表于 2008-08-10 23:02 |
| 初级用户 发帖 18 积分 35 | |
|
第一种方法,根据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 ] |
|
| 第12楼 lummox | 发表于 2008-08-11 02:06 |
| 初级用户 发帖 14 积分 28 | |
|
是这样的:我写了一个批处理文件,要用到与提问类似的一句代码,尽管这句代码完全可以用别的语句组实现,但对于我来说,就等于预见问题绕开问题,而不是解决问题,所以才来求教的。
|
|
| 第13楼 lummox | 发表于 2008-08-20 17:23 |
| 初级用户 发帖 14 积分 28 | |
|
谢谢11楼朋友的回复,可,还是执行不通的
|
|
| 第14楼 lxmxn | 发表于 2008-08-21 07:07 |
| 版主 发帖 4,938 积分 11,386 | |
| 第15楼 HAT | 发表于 2008-08-22 09:59 |
| 版主 发帖 5,017 积分 9,023 | |
|
把14楼的代码保存为xxx.bat
双击运行 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |