中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-01 22:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 能否一个echo 多行输出? 查看 3,494 回复 18
楼 主 能否一个echo 多行输出? 发表于 2007-11-26 10:36 ·  中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
echo 1》test.txt
echo 2>> test.txt
echo 3>> test.txt


能否把上面的精简下。。要求只使用一个echo,能办到吗?
怀疑
echo (
1
2
3
)>test.txt
可是不行。。。
2 发表于 2007-11-26 11:13 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
下面代码另存为echo2.cmd
@echo off
:start_echo
set start_echo=%1
if not defined start_echo goto end
echo %1
shift
goto start_echo
:end


在执行
echo2 abc def ghi
或者echo2 abc def ghi>test.txt
第一高手 第二高手

3 发表于 2007-11-26 11:27 ·  中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
感谢楼上的热心,可惜不是我想要的结果~

这个也能实现
@echo off
set /p input=
for %%a in (%input%) do echo %%a>>test.txt


我就想问一下,echo是否存在这样的功能,一个命令输出多行
另:好少见shift的应用。。。

[ Last edited by junyee on 2007-11-26 at 11:28 AM ]
4 发表于 2007-11-26 11:35 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
不依赖echo2.cmd,除了for没有其他办法
echo2.cmd比你这个用起来放便呀
echo2 第1行内容 (空格)第2行内容 (空格)第3行内容.....
第一高手 第二高手

5 发表于 2007-11-26 12:19 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
E:\Cmd>type xecho.bat
@echo this is the first line for echo^

this is the second line^

the end
E:\Cmd>xecho.bat
this is the first line for echo
this is the second line
the end

E:\Cmd>
本帖最近评分记录 (共 5 条) 点击查看详情
评分人分数时间
everest79 +15 2007-11-26 20:50
junyee +1 2007-12-01 19:04
429499381 +4 2008-01-16 16:35
huahua0919 +4 2008-01-16 17:14
plp626 +4 2008-02-03 10:20
6 发表于 2007-11-26 18:58 ·  中国 广西 钦州 电信
新手上路
积分 6
发帖 3
注册 2007-09-28 02:05
18年会员
UID 98446
性别 男
状态 离线
楼上的厉害啊,
原来行尾加个 ^ ,下面再空一行就可以了。
试过了还不错。
7 发表于 2007-11-27 01:23 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
lxmxn斑竹能否解释下原理?
8 发表于 2007-11-27 01:46 ·  中国 北京 中国科学院研究生院玉泉四公寓
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
^出现第一次时候表示 转义后面的字符
9 发表于 2007-12-22 20:57 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
下一行也算后面的字符?
10 发表于 2007-12-23 02:34 ·  中国 新疆 石河子 电信
初级用户
积分 50
发帖 25
注册 2007-03-29 14:07
19年会员
UID 83301
性别 男
状态 离线
版主就是版主,的确厉害
11 发表于 2008-01-15 13:11 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
学习
路 是自己选的
学习 是为了具备解决问题的能力
12 发表于 2008-01-15 18:54 ·  中国 广东 梅州 电信
中级用户
★★
积分 262
发帖 129
注册 2007-07-11 06:50
18年会员
UID 93679
性别 男
状态 离线
版主,如果多行中间需要用空格空的呢?怎么办?
13 没有换行呀 发表于 2008-01-16 17:07 ·  中国 黑龙江 大庆 大庆中基石油通信建设有限公司
高级用户
★★
积分 547
发帖 261
注册 2006-04-15 16:50
20年会员
UID 53887
状态 离线
echo2 123 456 789
没有实现
123
456
789
显示效果呀!
14 发表于 2008-01-18 01:22 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
Originally posted by kidzgy at 2008-1-15 18:54:
版主,如果多行中间需要用空格空的呢?怎么办?

B:\PERL>type xecho.bat
@echo one^

^

^

the end^
goodbye
B:\PERL>xecho.bat
one


the end goodbye

B:\PERL>
15 发表于 2008-01-18 09:29 ·  中国 山西 吕梁 联通
新手上路
积分 7
发帖 4
注册 2007-07-28 10:43
18年会员
UID 94176
性别 男
状态 离线
论坛跳转: