假设我有以下批量指令,它按预期工作。
file1.exe | file2.exe
现在我有以下要求。 - 应将file1.exe中的Stderr写入日志文件 - 应将file2.exe中的Stdout和Stderr写入日志文件
这也有效
file1.exe 2>>file1.log | file2.exe >>file2.log 2>&1
然而,我真正想要的是将两个输出都放在同一个文件中。此操作失败,因为另一个进程使用了file.log
file1.exe 2>>file.log | file2.exe >>file.log 2>&1
以下是展示此问题的真实示例。
echo test 2>>file.log | findstr t 1>>file.log 2>&1
答案 0 :(得分:2)
试试这个:
( echo test | findstr t ) >>file.log 2>&1
答案 1 :(得分:0)
这会将所有数据传递给findstr:
echo test 2>&1 | findstr "^" >file.log 2>&1
答案 2 :(得分:0)
如果您不需要实时正确执行此任务,您还可以创建两个不同的临时文件:
file1.exe 2>> temp1.log | file2.exe>> temp2.log
然后您可以将第二个文本文件打印到第一个文本:
回声。 >> temp1.log&&输入temp2.log>> temp1.log
REM“回声”。在输出文件中留下一个空行