Jon*_*han 2 batch-file robocopy
我正在运行robocopy进程,并生成如下日志:
robocopy "\\server1\reports" "c:\temp" /LOG+:"c:\scripts\logs\robolog-reports.txt"
Run Code Online (Sandbox Code Playgroud)
日志文件创建良好。有什么方法可以限制日志文件的文件大小,理想情况下滚动日志以便仅保存最新的XX行或XX字节吗?我想一次完成所有操作(自动复制),并进行自动复制活动的最后几天。
谢谢
从文件中获取最后N行的过程称为tail。尝试这个:
@echo off
setlocal
rem Update the robocopy report file
set "report=c:\scripts\logs\robolog-reports.txt"
robocopy "\\server1\reports" "c:\temp" /LOG+:"%report%"
rem Keep the last N lines in the report
set lines=300
for /F %%a in ('find /C /V "" ^< "%report%"') do set "lastLine=%%a"
if %lastLine% leq %lines% goto :EOF
set /A firstLine=lastLine-lines
more +%firstLine% "%report%" > tempFile.tmp
move /Y tempFile.tmp "%report%"
Run Code Online (Sandbox Code Playgroud)
无法通过一种自动复制操作直接执行此操作。