Windows批处理:如何将cmd输出写入文件?

Windows batch: how to write cmd output to a file?

当批次为 运行 时,我需要将 cmd window 中出现的行打印到文本文件中。例如,我有以下批处理脚本:

copy D:\aaa.txt D:\bbb.txt

当我启动批处理文件时,cmd window 显示以下行(抱歉我的 Windows 是法语):

D:\>copy D:\aaa.txt D:\bbb.txt
    1 fichier(s) copié(s)

我想自动将这两行写入文本文件,以便检查更复杂的批处理文件的执行情况并跟踪错误。

将批处理命令的输出重定向到文件中 log.txt:

D:\>copy D:\aaa.txt D:\bbb.txt >log.txt

将输出附加到文件

copy D:\aaa.txt D:\bbb.txt >>log.txt

请注意,您可能希望禁止确认是否覆盖目标文件。使用 /Y 选项(但要注意风险):

copy /Y D:\aaa.txt D:\bbb.txt >>log.txt

另请注意,发出的命令行不是输出的一部分。使用echo命令写入:

echo copy /Y D:\aaa.txt D:\bbb.txt >>log.txt
copy /Y D:\aaa.txt D:\bbb.txt >>log.txt