【教程】普及讲解重定向
作者:bat吧-aiwozhonghuaba
系统环境:WindowsXP SP3
简介:
重定向是批处理非常重要的组成部分之一,从简单的>,>>,<到"罕见"的1>&2,1<&2,乃至于管道符号'|'都是属于重定向的范畴
但很多人对于重定向的了解还十分少,只停留在非常浅的层次
——知道>a.txt可以将命令执行结果发送到a.txt,但不知道'Echo 1 2 3>a.txt'为什么不能得到正确的结果
——知道>nul可以屏蔽输出,但不知道当命令执行错误时的输出该如何屏蔽
——知道2>nul可以屏蔽错误输出,但不知道为什么有时'>nul 2>nul'还是不能屏蔽所有输出
——知道管道符号可以传递前一个命令的执行结果,却不知道错误输出该如何传递
正所谓学无止境,笔者也曾以为以为批处理中应该没有什么是我不知道的了,后来看见了'Echo;>nul 3>a.txt'这样的代码,
一番百度之下才知道自己实在是自大了,原来看似简单的重定向中隐藏着如此多的秘密,在如饥似渴地阅读了大量相关教程与代码(如英雄和bathome的一些帖子,还有微软该死的机器翻译...)后,终于在这方面有所了解,故开此贴,为新手普及一下重定向的知识,让老手欣赏到一个不一样的重定向
最后,本人知识有限,如有错误或遗漏部分,还望指出
作者:bat吧-aiwozhonghuaba
系统环境:WindowsXP SP3
简介:
重定向是批处理非常重要的组成部分之一,从简单的>,>>,<到"罕见"的1>&2,1<&2,乃至于管道符号'|'都是属于重定向的范畴
但很多人对于重定向的了解还十分少,只停留在非常浅的层次
——知道>a.txt可以将命令执行结果发送到a.txt,但不知道'Echo 1 2 3>a.txt'为什么不能得到正确的结果
——知道>nul可以屏蔽输出,但不知道当命令执行错误时的输出该如何屏蔽
——知道2>nul可以屏蔽错误输出,但不知道为什么有时'>nul 2>nul'还是不能屏蔽所有输出
——知道管道符号可以传递前一个命令的执行结果,却不知道错误输出该如何传递
正所谓学无止境,笔者也曾以为以为批处理中应该没有什么是我不知道的了,后来看见了'Echo;>nul 3>a.txt'这样的代码,
一番百度之下才知道自己实在是自大了,原来看似简单的重定向中隐藏着如此多的秘密,在如饥似渴地阅读了大量相关教程与代码(如英雄和bathome的一些帖子,还有微软该死的机器翻译...)后,终于在这方面有所了解,故开此贴,为新手普及一下重定向的知识,让老手欣赏到一个不一样的重定向
最后,本人知识有限,如有错误或遗漏部分,还望指出