如果文件夹日期为 30 天,则删除文件夹和文件
Delete folder and files if the folder date is 30 days old
我有一个 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
找到以下 here.
For deleting folders, try this:FORFILES -p "" /D -15 /C "cmd /c IF @isdir == TRUE rd /S /Q @path" , /D is for number of days, you can play with command parameters to meet exact requirement
您也可以使用环境变量,这样您就可以轻松地只删除当前登录用户的文件。例如,您可以使用 %HOMEPATH%\Desktop 来获取当前用户的桌面。更多环境变量 here.
我有一个 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
找到以下 here.
For deleting folders, try this:FORFILES -p "" /D -15 /C "cmd /c IF @isdir == TRUE rd /S /Q @path" , /D is for number of days, you can play with command parameters to meet exact requirement
您也可以使用环境变量,这样您就可以轻松地只删除当前登录用户的文件。例如,您可以使用 %HOMEPATH%\Desktop 来获取当前用户的桌面。更多环境变量 here.