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
当批次为 运行 时,我需要将 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