需要备份的文件夹中会在每天晚上01:00-01:59分备份一部分内容,然后是从02:00-02-59分是另一部分的内容,依次类推,每天都会如此,文件名也是同样的,如果不复制出去,第二天会被覆盖写入,没有办法保留,麻烦各位帮助看下,我首先判断了目录是否存在,如果存在就不创建,如果不存在就会创建当天以时间为规范的文件夹,那么我如何取得01:00-01:59分这部分来复制到其他目录呢?- @echo off
- ::主体变量开始
- ::年
- set yy=%date:~0,4%
- ::月
- set mm=%date:~5,2%
- ::日
- set dd=%date:~8,2%
- ::时间
- set time=%time: =0%
- ::固定时间列
- ::需要先创建根目录
- set path=C:\Users\Dell\Desktop\
- set path1=backup_switch\
- set path2=单位\
- ::需要备份的目录
- set back=C:\Users\Dell\Desktop\back\
- ::备注
- echo 根据时间不同创建目录不同
- echo 1.这是一个区域 01:00 to 01:59
- echo 2.这是一个区域 02:00 to 02:59
- echo 3.这是一个区域 03:00 to 03:59
- echo 4.这是一个区域 04:00 to 04:59
- echo 开始执行-----------------------
- ::主体变量开始
- if %time:~0,5% geq 01:00 if %time:~0,5% leq 16:59 goto :hello
- exit
- :hello
- if exist %path% (
- ::判断是否存在根目录
- if exist %path%%path1% (
- rem 目录C:\Users\Dell\Desktop\backup_switch\已存在,无需创建
- echo 目录%path%%path1%已存在,无需创建
- ) else (
- rem 创建C:\Users\Dell\Desktop\backup_switch\
- echo 创建%path%%path1%
- md %path%%path1%
- )
- ::判断是否存在根目录/备份文件夹
- if exist %path%%path1%%path2% (
- rem 目录C:\Users\Dell\Desktop\backup_switch\已存在,无需创建
- echo 目录%path%%path1%%path2%已存在,无需创建
- ) else (
- rem 创建C:\Users\Dell\Desktop\backup_switch\
- echo 创建%path%%path1%%path2%
- md %path%%path1%%path2%
- )
- ::判断是否存在根目录/备份文件夹/日期目录
- if exist %path%%path1%%path2%%yy%-%mm%-%dd% (
- rem 目录C:\Users\Dell\Desktop\backup_switch\已存在,无需创建
- echo 目录%path%%yy%已存在,无需创建
- ) else (
- rem 创建C:\Users\Dell\Desktop\backup_switch\
- echo 创建%path%%path1%%path2%%yy%-%mm%-%dd%
- md %path%%path1%%path2%%yy%-%mm%-%dd%
-
- )
-
- ) else (
- echo !!
- echo !!执行失败,当前系统上不存在%Path2%目录
- echo !!
- )
- set start=12:00
- set end=13:00
- for /r "%back%" %%i in (*) do (
- if "%%~ti"=="%yy%/%mm%/%dd% 12:19" copy %%i %path%%path1%%path2%%yy%-%mm%-%dd%
- )
-
- exit
- pause
复制代码
|