有没有办法在Windows中的脚本持续时间内将stderror重定向到stdout?

feo*_*eoh 1 windows build-automation scripting batch-file

由于很长一段时间UNIX shell脚本编写/发布工程师在我的最新工作中全职进入Windows环境,因此我不可避免地会遇到一些问题.

其中一个是我可信赖的旧'exec 2>&1',它在Bourne shell中在stderr和stdout中将脚本连接起来,因此日志记录将捕获所有好的和坏的.

我意识到你可以在每个命令行调用的末尾添加2> foo.log,但我想知道是否有更好的方法.

Windows环境中是否有任何等效内容?我们在这里使用.BAT文件脚本和Perl脚本(主要用于构建自动化以及其他一些东西),我非常想知道这是否可行.

Mic*_*man 5

在Perl中你可以做到

open STDERR, '>&STDOUT' or die "Can't dup STDOUT";
Run Code Online (Sandbox Code Playgroud)

将脚本的STDERR输出重定向到STDOUT.有关open详细信息,请参阅文档.我不希望这会影响系统调用的输出,即system反引号.