在批处理文件中怎么获得三天前的日期

本文介绍了一个使用批处理脚本进行日期计算并压缩文件,然后通过FTP上传到远程服务器的过程。该脚本能够计算指定天数之前的日期,并据此创建压缩文件名,最后将文件上传至指定的FTP服务器。

摘自: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%


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值