(MS-DOS,BATCH FILES)如何写入日志文件,仅保留前1000个最近的行

时间:2012-08-03 13:30:34

标签: batch-file dos

在Windows Server 2003环境中,我们有一个批处理文件(* .bat),它写入某个目录中的文本日志文件。

为防止此文件变得太大,我想知道如何修改批处理文件以便仅保留前1000行的最新行。

提前感谢您的合作。

1 个答案:

答案 0 :(得分:3)

您可以随时调用以下例程来修剪日志文件,仅保留最后1000行。该文件的名称作为第一个和唯一的参数传递。

:KeepLast1000
@echo off
setlocal
set keep=1000
if not exist "%~1" exit /b
set skip=0
for /f  %%N in ('find /c /v "" ^<"%~1" 2^>nul') do if %%N gtr %keep% set /a skip=%%N-keep
more +%skip% "%~1" >"%~1.new"
move /y "%~1.new" "%~1" >nul