中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-07 10:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for循环输出指定分隔符的串 查看 1,427 回复 11
楼 主 for循环输出指定分隔符的串 发表于 2008-07-26 00:25 ·  中国 北京 光环新网
初级用户
积分 41
发帖 16
注册 2008-06-21 18:02
18年会员
UID 120681
性别 男
状态 离线
set /p a=
for /f "delims=." %%i in ("%a%") do echo %i

输入1.2.3.4 怎么不输出1 2 3 4 ,如何才能达到效果
2 发表于 2008-07-26 00:40 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
这肯定是不能输出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
3 发表于 2008-07-26 00:44 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
或者:

@echo off
set /p a=请输入:
for %%i in (%a:.= %) do set /p=%%i <nul
pause>nul
批处理之家新域名:www.bathome.net
4 发表于 2008-07-26 00:50 ·  中国 北京 光环新网
初级用户
积分 41
发帖 16
注册 2008-06-21 18:02
18年会员
UID 120681
性别 男
状态 离线
其实我的输入里面不止4个数字,可能有10多个,而且里面还有空格
比如1.2.3.1 2.3.11.1 27.23.33.0 等等
我想输出每个单独的数,以 空格和点 为分隔符
5 发表于 2008-07-26 00:55 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
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
6 发表于 2008-07-26 01:23 ·  中国 北京 光环新网
初级用户
积分 41
发帖 16
注册 2008-06-21 18:02
18年会员
UID 120681
性别 男
状态 离线
确实可以,谢谢
7 发表于 2008-07-26 01:34 ·  中国 北京 光环新网
初级用户
积分 41
发帖 16
注册 2008-06-21 18:02
18年会员
UID 120681
性别 男
状态 离线
如果我要想对每个数字做个判断,判断它是否在0到100 之间怎么写啊,如果是的话不处理,不是的话就报错
8 发表于 2008-07-26 02:09 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@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
9 发表于 2008-07-26 07:23 ·  中国 北京 海淀区 电信
初级用户
积分 39
发帖 14
注册 2007-01-01 13:03
19年会员
UID 75193
性别 女
状态 离线
我还,第一次看到DOS命令还可以苷套~~晕死~~不过有点不太方便阅读~~
10 发表于 2008-07-31 15:24 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 47
发帖 18
注册 2008-07-07 23:57
17年会员
UID 121225
性别 男
状态 离线
3楼的代码是如何输出的呢?看不懂???
@echo off
set /p a=请输入:
for %%i in (%a:.= %) do set /p=%%i <nul
pause>nul
11 发表于 2008-07-31 15:33 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
set /p=%%i 等待用户输入
<nul 自动输入
12 什么意思 发表于 2008-08-03 17:36 ·  中国 广东 深圳 宝安区 电信
新手上路
积分 10
发帖 5
注册 2008-08-02 19:47
17年会员
UID 122666
性别 男
状态 离线
我都不懂啊!!
能写的具体些吗!!
论坛跳转: