中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:下例中,如何给10的整数倍赋值?
« [1] [2] »
作者:
标题: 求助:下例中,如何给10的整数倍赋值? 上一主题 | 下一主题
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
状态 离线
『第 2 楼』:  

参考一下这个:

http://www.cn-dos.net/forum/viewthread.php?tid=41843



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-8-10 12:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lummox
初级用户





积分 28
发帖 14
注册 2008-2-29
状态 离线
『第 3 楼』:  

谢谢楼上的朋友。
看了你介绍的帖子,测试了一下,还是执行不通。望再赐教。

2008-8-10 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lummox
初级用户





积分 28
发帖 14
注册 2008-2-29
状态 离线
『第 4 楼』:  

继续等待解答……

2008-8-10 17:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 5 楼』:  

你有没有看到我在那个帖子里『第 7 楼』的回复?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
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
状态 离线
『第 8 楼』:  

在 WindowsXP 下可用 4NT 或 Take Commander ,它们是 4DOS 在 Windows 下的继承。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
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
状态 离线
『第 10 楼』:  

4DOS 就是在 DOS 下的,是 COMMAND 的完美替代。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
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
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: