Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 将stderr编译输出复制到单独的文件中_Windows_Batch File_Makefile_Cmd - Fatal编程技术网

Windows 将stderr编译输出复制到单独的文件中

Windows 将stderr编译输出复制到单独的文件中,windows,batch-file,makefile,cmd,Windows,Batch File,Makefile,Cmd,我有一个项目,它通过使用make构建,我想增加可能性 分析警告消息的总体状态 我的想法是更改make规则,以便在完全重建期间将stderr编译输出复制到单独的文件中。意味着每次make all都将完成,所有输出将在控制台中打印,此外stderr输出将复制到单独的文件中 此警告报告文件将添加到存储库中,这样我就可以比较存储库中现有的警告和本地警告 问题是如何将stderr输出复制(而不是重定向)到单独的文件中?表示我应该如何更改Makefile中的all目标 我知道如何重定向stderr输出(ma

我有一个项目,它通过使用make构建,我想增加可能性 分析警告消息的总体状态

我的想法是更改make规则,以便在完全重建期间将stderr编译输出复制到单独的文件中。意味着每次make all都将完成,所有输出将在控制台中打印,此外stderr输出将复制到单独的文件中

此警告报告文件将添加到存储库中,这样我就可以比较存储库中现有的警告和本地警告

问题是如何将stderr输出复制(而不是重定向)到单独的文件中?表示我应该如何更改Makefile中的all目标

我知道如何重定向stderr输出(makeall 2>warning_report.txt),但事实并非如此 我需要什么。警告消息应同时出现在主控制台输出和警告文件中

我使用Windows7作为工作环境,但我以前没有处理过Windows命令行或批处理文件

提前谢谢

编辑:

在我的情况下,最终解决方案如下所示:

make all 3>&11>&2-2>&3-| tee.bat warning_report.txt

在本例中,脚本tee.bat,是用JScript for Windows编写的,我从PA指定的脚本中获取(谢谢)


关于交换,我从和中获取了它。

我不了解windows,但您可以在Linux中使用
tee
命令进行交换。tee用于将STDOUT重定向到文件和控制台,以便您可以利用它并检查是否可以解决问题

make all 2>&11>stdout.log | tee stderr.log

STDERR
重定向到
STDOUT
,将
STDOUT
重定向到
STDOUT.log
,所有
STDERR
也复制到控制台上的
STDERR.log
ans


但解决方案尚未完成。
STDOUT
不会打印在控制台上,只会复制到
STDOUT.log
。尝试使用命令,您将获得解决方案。

我刚刚重新阅读了您的问题,并决定尝试回答它

下面是一个用于导出并显示stderr的代码片段

@echo off
if exist stderr.error del stderr.error
this_is_not_a_command 2>stderr.error
if exist stderr.error type stderr.error & del stderr.error
这将导出
stderr
到一个文件,然后显示该文件的内容


希望能有所帮助。

请参阅上一个问题,为什么不将其重定向到一个文件,然后显示文件内容?因为整个项目的编译时间大约为5分钟。很好奇,编译时间与我的评论有什么关系?谢谢您的帮助。由于现在我无法访问我的电脑,我现在无法尝试此功能。我星期一去试试。怎么样?这有帮助吗?我曾经尝试过使用这个方法,但最终我使用了上面解释的解决方案(见编辑部分)。