批处理文件将几个文件的最后一行复制到一个新文件中

时间:2011-05-10 11:40:38

标签: windows batch-file

每次应用程序运行时,我都会生成大量日志,我希望将每个日志的最后一行整理成文件或通过批处理文件打印在屏幕上。例如,我有一个dir文件,如log123.log,log124.log,log125.log

1 个答案:

答案 0 :(得分:3)

确实可以使用Windows批处理文件完成,使用for循环来计算行数:

@echo off
for %%f in (*.log) do (
    set /a line_count = -1
    for /f %%l in (%%f) do set /a line_count += 1
    more +%line_count% %%f
)

如果您的文件不以换行符结尾,则必须将line_count变量初始化为0而不是-1

您可以重定向more的输出以将结果附加到文件:

more +%line_count% %%f >> your_results_file