中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 11:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for+echo为什么总是多了个引号 查看 720 回复 3
楼 主 for+echo为什么总是多了个引号 发表于 2007-11-04 16:58 ·  中国 浙江 杭州 阿里云
初级用户
★★
积分 172
发帖 63
注册 2007-11-03 10:37
18年会员
UID 101564
性别 男
状态 离线
for %%a in ("[boot loader]";"DEFAULT=C:\windows") do echo %%a >>2.txt

2.txt内容如下
"[boot loader]"
"DEFAULT=C:\windows"

如果在for中不加引号的话
for %%a in ([boot loader];DEFAULT=C:\windows) do echo %%a
2.txt内容如下
[boot
loader]
DEFAULT
C:\windows


由于要写的行很长。所以想把它们都并起来写,除了用&之外,请问还有什么更好的方法?
2 发表于 2007-11-05 00:12 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
把你要写的内容放在特定行的后面,比如放在第10行后面,然后“ more +10 %0 >2.txt ”。
3 发表于 2007-11-05 08:04 ·  中国 香港 腾讯云
初级用户
★★
积分 172
发帖 63
注册 2007-11-03 10:37
18年会员
UID 101564
性别 男
状态 离线
谢谢版主的这个好方法。很实用耶。^_^

不过想知道有没有什么方法可以把几行并连起来一起写。
for %%a in ("[boot loader]";"DEFAULT=C:\windows") do echo %%a >>2.txt就是多了“。有什么方法可以将”去掉。谢谢
4 发表于 2007-11-05 08:17 ·  中国 香港 腾讯云
初级用户
★★
积分 172
发帖 63
注册 2007-11-03 10:37
18年会员
UID 101564
性别 男
状态 离线
另外这个more方法把后面的批处理码也写进2.txt去了。最后面总有一个:end,之个more方法将它也写进去了。可否指定第几行到第几行呢?
论坛跳转: