中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: for循环输出指定分隔符的串 上一主题 | 下一主题
wangbing111
初级用户





积分 41
发帖 16
注册 2008-6-21
状态 离线
『楼 主』:  for循环输出指定分隔符的串

set /p a=
for /f "delims=." %%i in ("%a%") do echo %i

输入1.2.3.4 怎么不输出1 2 3 4 ,如何才能达到效果

2008-7-26 00:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

这肯定是不能输出1 2 3 4的,如下:
@echo off
set /p a=请输入:
for /f "tokens=1-4 delims=." %%i in ("%a%") do echo %%i %%j %%k %%l
pause>nul




批处理之家新域名:www.bathome.net
2008-7-26 00:40
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 3 楼』:  

或者:
@echo off
set /p a=请输入:
for %%i in (%a:.= %) do set /p=%%i <nul
pause>nul




批处理之家新域名:www.bathome.net
2008-7-26 00:44
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
wangbing111
初级用户





积分 41
发帖 16
注册 2008-6-21
状态 离线
『第 4 楼』:  

其实我的输入里面不止4个数字,可能有10多个,而且里面还有空格
比如1.2.3.1 2.3.11.1 27.23.33.0 等等
我想输出每个单独的数,以 空格和点 为分隔符

2008-7-26 00:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by wangbing111 at 2008-7-26 00:50:
其实我的输入里面不止4个数字,可能有10多个,而且里面还有空格
比如1.2.3.1 2.3.11.1 27.23.33.0 等等
我想输出每个单独的数,以 空格和点 为分隔符

3楼的代码完全可以做到啊,楼主试了没有?



批处理之家新域名:www.bathome.net
2008-7-26 00:55
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
wangbing111
初级用户





积分 41
发帖 16
注册 2008-6-21
状态 离线
『第 6 楼』:  

确实可以,谢谢

2008-7-26 01:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wangbing111
初级用户





积分 41
发帖 16
注册 2008-6-21
状态 离线
『第 7 楼』:  

如果我要想对每个数字做个判断,判断它是否在0到100 之间怎么写啊,如果是的话不处理,不是的话就报错

2008-7-26 01:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  


@echo off
set /p a=请输入:
for %%i in (%a:.= %) do (
    if %%i lss 0 (
       call :wrong %%i
       ) else (
       if %%i gtr 100 (
          call :wrong %%i
          ) else (
          echo %%i在0~100之间&echo.
)))
pause>nul&goto :eof
:wrong
echo %1不在0~100之间&echo.




批处理之家新域名:www.bathome.net
2008-7-26 02:09
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
xyzzhu
初级用户





积分 39
发帖 14
注册 2007-1-1
状态 离线
『第 9 楼』:  

我还,第一次看到DOS命令还可以苷套~~晕死~~不过有点不太方便阅读~~

2008-7-26 07:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dosjj
初级用户





积分 47
发帖 18
注册 2008-7-7
状态 离线
『第 10 楼』:  

3楼的代码是如何输出的呢?看不懂???
@echo off
set /p a=请输入:
for %%i in (%a:.= %) do set /p=%%i <nul
pause>nul

2008-7-31 15:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  

set /p=%%i 等待用户输入
<nul 自动输入



2008-7-31 15:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xinxinchen603
新手上路





积分 10
发帖 5
注册 2008-8-2
状态 离线
『第 12 楼』:  什么意思

我都不懂啊!!
能写的具体些吗!!

2008-8-3 17:36
查看资料  发送邮件  发短消息 网志  OICQ (51945781)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: