有没有办法强制从父级启动的所有子批处理文件登录到一个文件中?

有没有办法强制从父级启动的所有子批处理文件登录到一个文件中?

假设我正在调用这样的父批处理文件

call parent.bat >Log.txt

在 parent.bat 中我调用其他批处理文件,而这些批处理文件本身又调用其他 bath 文件。

现在发生的情况是,从 parent.bat 内部启动的批处理文件在控制台窗口上显示其输出,而不会登录到 Log.txt。

有没有办法强制启动的所有子批处理文件登录到 Log.txt?

答案1

尝试“call file1.bat >> log.txt 2>&1”

双箭头很重要,因为它表示追加而不是覆盖文件 - 否则您只会获得最后一个文件的结果。 2>&1 将“STDERR”重定向到“STDOUT”

答案2

通过一些实验,我无法模拟您的情况。我只是怀疑您的一些消息是否是 stderr。如果是,请尝试 c:> call parent.bat >log.txt 2>&1

相关内容