批处理 这条命令把执行结果都放在了哪儿
callmake.batArg1>%MBTS_CODE_ROOT_DIR%\make.txt2>&1主要后最后的&1是什么意思...
call make.bat Arg1 > %MBTS_CODE_ROOT_DIR%\make.txt 2>&1
主要后最后的&1是什么意思 展开
主要后最后的&1是什么意思 展开
1个回答
展开全部
call make.bat Arg1 > %MBTS_CODE_ROOT_DIR%\make.txt 2>&1 是指:
如果make.bat Arg1正常运行,结果输出到%MBTS_CODE_ROOT_DIR%\make.txt文件中,如果有错误信息,同样将错误信息输出到make.txt文件中,而不是只显示在命令提示符窗口中!
先说下1和2:
1、2是系统默认的句柄代号(还有个0)。
0代表STDIN,标准输入句柄,通常情况下该句柄即为键盘;1代表STDOUT,标准输出句柄,当命令正常运行时结果输出到这个句柄,句柄1通常情况下就是cmd窗口 ;2代表STDERR,标准错误句柄,当命令发生错误时,系统将错误信息输出到这个句柄,默认情况下该句柄也是cmd窗口。
>是重定向符,可以将某些内容输出到外部文件中,如 >make.txt 就表示将结果输出到make.txt。但实际上>make.txt是1>make.txt的缩写,表示将句柄1的结果(程序正常运行时的结果)输出到make.txt中,如果程序出错,cmd窗口中会显示错误信息。
>&也是重定向符,只不过它是用来重定向句柄的,2>&1表示将句柄2(stderr)的结果输出到句柄1(stdout)中。前面“>make.txt”已经将句柄1重定向到make.txt中了,因此2>&1这么一重定向,句柄2的结果只能同样输出到make.txt中了。
如果make.bat Arg1正常运行,结果输出到%MBTS_CODE_ROOT_DIR%\make.txt文件中,如果有错误信息,同样将错误信息输出到make.txt文件中,而不是只显示在命令提示符窗口中!
先说下1和2:
1、2是系统默认的句柄代号(还有个0)。
0代表STDIN,标准输入句柄,通常情况下该句柄即为键盘;1代表STDOUT,标准输出句柄,当命令正常运行时结果输出到这个句柄,句柄1通常情况下就是cmd窗口 ;2代表STDERR,标准错误句柄,当命令发生错误时,系统将错误信息输出到这个句柄,默认情况下该句柄也是cmd窗口。
>是重定向符,可以将某些内容输出到外部文件中,如 >make.txt 就表示将结果输出到make.txt。但实际上>make.txt是1>make.txt的缩写,表示将句柄1的结果(程序正常运行时的结果)输出到make.txt中,如果程序出错,cmd窗口中会显示错误信息。
>&也是重定向符,只不过它是用来重定向句柄的,2>&1表示将句柄2(stderr)的结果输出到句柄1(stdout)中。前面“>make.txt”已经将句柄1重定向到make.txt中了,因此2>&1这么一重定向,句柄2的结果只能同样输出到make.txt中了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询