摘自:http://blog.19lou.com/88274/viewspace-285116
@echo on
setlocal enabledelayedexpansion
::定义天数;
set /a fn = 1
::定义各月的天数;
for %%i in (4 6 9 11) do set /a M_%%i=30
for %%i in (1 3 5 7 8 10 12) do set /a M_%%i=31
set /a M_2=28
::获取当前日期;
set /a Hyear=%date:~0,4%
set /a Hmonth1=%date:~5,1%
set /a Hmonth2=%date:~6,1%
set /a Hmonth=%Hmonth1%*10+%Hmonth2%
set /a Hdate1=%date:~8,1%
set /a Hdate2=%date:~9,1%
set /a Hdate=%Hdate1%*10+%Hdate2%
::计算几天前的日期;
if %Hdate% leq %fn% (
call :test 1) else (call :test 0)
::设置变量赋值几天前的日期:%Hyear%年!Lmonth!月!Ldate!日
set dd= %Hyear%-!Lmonth!-!Ldate!
::压缩昨日文件夹 2011-8-31 为 2011-08-31.rar
c:\progra~1\WinRAR\winrar.exe a -k -r -s -ibck %dd%.rar %dd%\
::ftp上传压缩文件
echo open [ip] >ftp.txt
echo [ftpuser]>>ftp.txt
echo [ftpkey]>>ftp.txt
echo bin>>ftp.txt
echo mkdir RadiusLog>>ftp.txt
echo cd RadiusLog>>ftp.txt
echo mkdir RadiusLog%date:~0,4%%date:~5,2%>>ftp.txt
echo cd RadiusLog%date:~0,4%%date:~5,2%>>ftp.txt
echo put %dd%.rar>>ftp.txt
echo bye>>ftp.txt
ftp.exe -s:ftp.txt
del ftp.txt
:test
set /a Lmonth=%Hmonth%-%1
set /a Ldate=!M_%Lmonth%!*%1+%Hdate%-%fn%
本文介绍了一个使用批处理脚本进行日期计算并压缩文件,然后通过FTP上传到远程服务器的过程。该脚本能够计算指定天数之前的日期,并据此创建压缩文件名,最后将文件上传至指定的FTP服务器。
3140

被折叠的 条评论
为什么被折叠?



