如果文件夹日期为30天,则删除文件夹和文件

时间:2015-07-03 13:32:12

标签: batch-file backup

我每天都有一个蝙蝠脚本 1)创建一个包含今天日期的文件夹 2)将一些文件复制到新文件夹

如果文件夹超过30天,我想让脚本也删除文件夹及其中的所有文件。

@echo off

echo  
echo ------------------------------------------------------------------
echo Daily script that backs ups important files
echo ------------------------------------------------------------------


echo ------------------------------------------------------------------
echo Calcualtion of date
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"

set datestamp=%YYYY%%MM%%DD%
set timestamp=%HH%%Min%%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%


echo ------------------------------------------------------------------
echo Make new Backup folder
md G:\IMS-%fullstamp%
md G:\Backup\IMS-%fullstamp%\Services



echo ------------------------------------------------------------------
echo Copy files into backup folder
xcopy /s /y C:\Services G:\IMS-%fullstamp%\Services


echo ------------------------------------------------------------------
echo Delete old backup folders if older than 30 days

1 个答案:

答案 0 :(得分:1)

找到以下here

  
    

要删除文件夹,请尝试:FORFILES -p“”/ D -15 / C“cmd / c IF @isdir == TRUE rd / S / Q @path”,/ D是天数,你可以使用命令参数来满足确切的要求

  
     

您也可以使用环境变量,这样您就可以轻松删除当前登录用户的文件。例如,您可以使用%HOMEPATH%\ Desktop来访问当前用户的桌面。更多环境变量here