日期:2014-05-17  浏览次数:21028 次

windows bat 对上个月文件的备份
以前只是些linux shell,今天接到lp大人的通知说是让我写个bat,实现对上个月文件的备份,于是花了2个小时边学边写,终于调试成功了,代码如下:没什么难的就是资料不好找。

REM 取当前系统时间,可能因操作系统不同而取值不一样
@echo off
echo 日期:%date%
REM 分离年月日
@set stryear=%date:~0,4%&set strmonth=%date:~5,2%&set strday=%date:~8,2%
REM 如果是1月年要减去的变量
@set var=1
echo %strmonth%
IF "%strmonth%"=="01" goto changeyearandmonth
IF not "%strmonth%"=="01"  goto changemonth

REM 只变年
:changemonth
if "%strmonth%"=="02" set strmonth=01
if "%strmonth%"=="03" set strmonth=02
if "%strmonth%"=="04" set strmonth=03
if "%strmonth%"=="05" set strmonth=04
if "%strmonth%"=="06" set strmonth=05
if "%strmonth%"=="07" set strmonth=06
if "%strmonth%"=="08" set strmonth=07
if "%strmonth%"=="09" set strmonth=08
if "%strmonth%"=="10" set strmonth=09
if "%strmonth%"=="11" set strmonth=10
if "%strmonth%"=="12" set strmonth=11
goto moveStr
:end

REM 年月都变化
:changeyearandmonth
   set strmonth=12
set/a stryear=%stryear%-%var%
echo %stryear%
goto moveStr
:end



:moveStr
  echo %stryear%%strmonth%*
REM 移动
move/y C:\a\%stryear%%strmonth%* C:\a\temp

:end
goto :eof