Board logo

标题: 谁能解释一下批处理中的echo与重定向? [打印本页]

作者: 最贱的猫    时间: 2011-9-7 23:36     标题: 谁能解释一下批处理中的echo与重定向?

今天突然发现了一个问题:
echo 1>echo1.txt与echo 1 >echo1.txt的结果不同
前者echo1.txt的内容是:ECHO 处于打开状态。
后者echo1.txt的内容是:1

echo 0>echo0.txt
echo 2>echo2.txt
echo 3>echo3.txt
echo 4>echo4.txt
......
echo N>echN.txt
这些命令结果更诡异,重定向生成的txt文件中竟然什么也没有...
只在命令行中输出了当前的echo状态,没有写入到文件
利用搜索参考了这篇帖子,问题很相像,但是大家给出的答案很模糊。
http://www.bathome.net/viewthrea ... B%D6%D8%B6%A8%CF%F2
谁能帮我解释一下,谢谢
作者: cjiabing    时间: 2011-9-7 23:42

搜索论坛的句柄和重定向
重定向中的秘密(句柄备份)
http://www.bathome.net/thread-2579-1-5.html
作者: cjiabing    时间: 2011-9-7 23:51

还是讲讲吧!
1>nul
::屏蔽成功时的输出(默认?)
2>nu
::屏蔽失败时的输出
>nul 2>null
::不管成功还是失败都屏蔽
echo %loop%
::显示变量%loop%。
::当%loop%的值为空时,也就是什么都没有时,相当于单独执行一个“echo”命令,帮助信息里介绍,单独echo命令可以查看回显状态是打开的还是关闭的。
echo,%loop%
::当%loop%的值为空时,相当于“echo,”,产生一个空格。

那么综合起来:
echo,%loop%>nul
……
echo,^1>123.txt
……后面不熟悉了,其他大大补充吧……
作者: xslxslxsl    时间: 2011-9-7 23:56

长见识了哦,谢谢介绍
作者: 最贱的猫    时间: 2011-9-9 23:13

回复 3# cjiabing


你推荐的那个帖子没怎么看懂,我再看看...
作者: Batcher    时间: 2011-9-10 10:05

批处理中的重定向符号以及句柄的使用方法和讲解
http://bbs.bathome.net/thread-3296-1-1.html
作者: Hello123World    时间: 2011-9-11 14:38

echo 1>echo1.txt与echo 1 >echo1.txt的结果不同

echo 1>echo1.txt
的意义是 将echo返回的正确信息重定向到 echo1.txt(这里 echo 的正确信息就是 “ECHO 处于打开状态” )

echo 1 >echo1.txt
的意义是 将 echo 1 的信息重定向到 echo1.txt。
作者: 最贱的猫    时间: 2011-9-12 13:07

echo 1>echo1.txt与echo 1 >echo1.txt的结果不同

echo 1>echo1.txt
的意义是 将echo返回的正确信息重定 ...
Hello123World 发表于 2011-9-11 14:38


那为什么只差一个空格就会出现两种不同的结果?
作者: 最贱的猫    时间: 2011-9-12 13:11

回复 7# Hello123World
哦,博大精深...
作者: telnet    时间: 2011-9-12 13:46

肯定是有差别的撒




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2