简体   繁体   English

批处理脚本以压缩IIS日志文件(文本文件)并按每日计划复制到另一个文件夹

[英]batch script to zip IIS Log files(text files) and copy to another folder with daily scheduling

The task is to Zip IIS Log Files(text files) and copy to another folder based on yesterday's date. 任务是将IIS日志文件(文本文件)压缩并根据昨天的日期复制到另一个文件夹。 And this batch script has to be Scheduled everyday. 而且此批处理脚本必须每天安排。

I am very new to batch scripting. 我对批处理脚本非常陌生。 Any help is appreciated..!! 任何帮助表示赞赏..! Thanks. 谢谢。

I have this code which is copying the latest 3 files. 我有这段代码正在复制最新的3个文件。 But, I want to copy files only created on yesterday's date. 但是,我只想复制昨天创建的文件。 And my file naming format is a_bc130510(a_bcYYMMDD). 我的文件命名格式为a_bc130510(a_bcYYMMDD)。

enter code here

@ECHO OFF
SET srcdir=D:\IIS LOGS
SET tgtdir=D:\FileCopy
SET /A topcnt=3
SET /A cnt=0
FOR /F "tokens=*" %%F IN ('DIR /A-D /OD /TW /B "%srcdir%"') DO (
SET /A cnt+=1
SETLOCAL EnableDelayedExpansion
IF !cnt! GTR !topcnt! (ENDLOCAL & GOTO :EOF)
ENDLOCAL
COPY "%srcdir%\%%F" "%tgtdir%"
)

This is modified to copy the newest file from yesterday, as you asked. 根据您的要求,将其修改为复制昨天的最新文件。

This assumes your log filenames are abcYYMMDD.log 假设您的日志文件名是abcYYMMDD.log
Change the term "%srcdir%\\*%day%.log" if you need something else. 如果您需要其他内容,请更改术语"%srcdir%\\*%day%.log"

@echo off
call :getdate today -1
SET "srcdir=D:\IIS LOGS"
SET "tgtdir=D:\FileCopy"
FOR /F "delims=" %%F IN ('DIR /A-D /O-D /TW /B "%srcdir%\*%day%.log"') DO (
COPY "%srcdir%\%%F" "%tgtdir%"
goto :done
)
:done
rem extra code after the copy goes here
goto :EOF
:getdate
set date1=%1
set qty=%2
set separator=%~3
if /i "%date1%" EQU "TODAY" (set date1=now) else (set date1="%date1%")
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%qty%,%date1%)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^&_
echo>>"%temp%\%~n0.vbs"         right(100+month(s),2)^&_
echo>>"%temp%\%~n0.vbs"         right(100+day(s),2)
for /f %%a in ('cscript //nologo "%temp%\%~n0.vbs"') do set result=%%a
del "%temp%\%~n0.vbs"
endlocal& set "YY=%result:~2,4%"&set "MM=%result:~4,2%"&set "DD=%result:~6,2%"
set "day=%YY%%separator%%MM%%separator%%DD%"
goto :EOF

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM