【问题标题】:Delete folder and files if the folder date is 30 days old如果文件夹日期为 30 天,则删除文件夹和文件
【发布时间】:2015-07-03 13:32:11
【问题描述】:

我有一个每天运行的 bat 脚本 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

【问题讨论】:

    标签: batch-file backup


    【解决方案1】:

    找到以下here

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多