@echo off
setlocal enabledelayedexpansion
:Main
:: 日期可以带星期,但是,必须以年月日的顺序排列
:: 年份必须是四位,否则会出错
set day=%date%
set days=0
echo.&echo.
::echo 指定的日期是:%day%
set input=1
:: 提取日期
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=input
if %sd% leq 0 call :count
set sm=0%sm%
set sd=0%sd%
set date_=%sy%-%sm:~-2%-%sd:~-2%
echo.
echo 正在备份 %date_% 的ALOG文件
echo.
for /f "tokens=1,2,4*" %%a in ('dir /a-d/od/tc "%d_%" ^| find "%date_%"') do if %%b geq 00:00:00 if not %%b geq 23:59:59 copy %%c d:\test\
echo.
pause
:count
set /a sm-=1
if !sm! equ 0 set /a sm=12, sy-=1
call :days
set /a sd+=days
if %sd% leq 0 goto count
goto :eof
:days
:: 获取指定月份的总天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
set num=0
set str=31 %max% 31 30 31 30 31 31 30 31 30 31
for %%i in (%str%) do (
set /a num+=1
if %sm% equ !num! set days=%%i&goto :eof
)
goto :eof作者: wudixin96 时间: 2007-8-15 14:24 自己找到,还修改了。
是否比别人直接给的要有荣耀感?
[ Last edited by wudixin96 on 2007-8-15 at 02:31 PM ]作者: broodwu 时间: 2007-8-15 17:11
Quote:
Originally posted by wudixin96 at 2007-8-15 02:24 PM:
自己找到,还修改了。
是否比别人直接给的要有荣耀感?
[ Last edited by wudixin96 on 2007-8-15 at 02:31 PM ]