中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于重定向的写法,为什么>file echo abc?
作者:
标题: 关于重定向的写法,为什么>file echo abc? 上一主题 | 下一主题
leson
初级用户





积分 35
发帖 15
注册 2007-12-9
状态 离线
『楼 主』:  关于重定向的写法,为什么>file echo abc?

看了最近版主HAT以及其他人的一些帖子,
好像大家都喜欢>file echo abc
这种将文件写在前面的写法,
若同时接受输入输出,>outfile sort <infile
请问为什么要这样?
我觉得这样不好,有时候abc后面多写了几个空格,
尤其在重定向的场合,
出现了问题很难定位出,
echo abc>file,
则可极大地避免这种错误。
另外感觉>outfile sort <infile,
明显不如sort <infile >outfile直观!
大家怎么看?

2008-11-17 20:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 2 楼』:  

>file echo abc 这样的方式:

我也感觉有些别扭,阅读起来怪怪的感觉;
但如果要输出的字符很长,如果在一开头就看到 >a.txt,就会更快地知道是输出到文件,而不用一直跟着 echo 直到行尾。

对此我没有坚定的立场...有时会这样用,有时不会...

2008-11-17 20:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

>a.txt echo 3721
我这样写是为了避免在行尾产生多余的空格
如果你感兴趣的话还可以这样写
echo>a.txt 3721



2008-11-17 21:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 4 楼』:  

如果echo后的内容是0-9中的某个数字呢?
echo 2>a.txt,出错。。。
echo 2 >a.txt,其实你只想输出2,不想输出2之后的空格到a.txt
>a.txt echo 2,这样呢?、、、正常。
>a.txt echo 3 ,3之后还有空格,正常。
(echo 2)>a.txt 同样正常。
如果感觉别扭的话,就用最后的这个方法吧。

   此帖被 +3 点积分     点击查看详情   
评分人:【 tireless 分数: +3  时间:2008-11-17 21:33




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-11-17 21:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leson
初级用户





积分 35
发帖 15
注册 2007-12-9
状态 离线
『第 5 楼』:  


C:\>>file echo 3721

C:\>for /F "delims=" %I in (file) do @echo "%I"
"3721     "

C:\>echo 3721         >file

C:\>for /F "delims=" %I in (file) do @echo "%I"
"3721         "

C:\>echo 3721>file

C:\>for /F "delims=" %I in (file) do @echo "%I"
"3721"
不太明白HAT所说的>a.txt echo 3721这样写是为了避免行尾出现多余的空格?
如何理解?

2008-11-17 21:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leson
初级用户





积分 35
发帖 15
注册 2007-12-9
状态 离线
『第 6 楼』:  

第4楼所提及的情形,我觉得使用:
echo ^1>file
echo ^2>file
等比较好理解一些,
我需要知晓这时候1、2有其特殊含义,
就像对待正规表达式中元字符一样,需要转义。

2008-11-17 21:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

willsort 兄同样举过 3721 这个例子,也同样被问到这个问题。
具体的,我也不想多说了,你就当 3721 是个变量吧,呵呵。

至于6楼提到的转义,可以跟4楼的加扩号,等方法一起和3楼归入“如果你感兴趣”



2008-11-17 22:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: