移动7天前备份文件目录示例脚本

移动7天前备份文件目录示例脚本
@echo off
setlocal

:: 设置参数
set SOURCE_PATH=F:\backup  :: 源目录
set DESTINATION_PATH=Z:\backup  :: 目标共享目录

:: 获取当前日期和7天前的日期
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (
    set today=%%c%%a%%b
)
for /f "tokens=1-3 delims=:." %%a in ('time /t') do (
    set current_time=%%a%%b
)
set seven_days_ago=%today% - 7
for /f "tokens=1-3 delims=-" %%a in ("%seven_days_ago%") do (
    set /a year=%%a, month=100+%%b, day=100+%%c
    set /a day-=7
    if %day% lss 100 (set day=0%day%) else (set day=%day:~1%)
    if %month% lss 100 (set month=0%month%) else (set month=%month:~1%)
)
set seven_days_ago=%year%%month%%day%

:: 获取源目录中的所有文件并检查修改日期
for %%F in (%SOURCE_PATH%\*) do (
    for /f "tokens=1-3 delims=/ " %%a in ('dir /tc "%%F"') do (
        set file_date=%%c%%a%%b
        if %file_date% lss %seven_days_ago% (
            set FILE_NAME=%%~nxF
            set FULL_PATH=%%F
            set DEST_FULL_PATH=%DESTINATION_PATH%\%%~nxF

            :: 尝试移动文件
            move "%%F" "%DESTINATION_PATH%" >nul 2>&1
            if %errorlevel% equ 0 (
                 echo Moved: %FILE_NAME%
            ) else (
                echo Failed to move: %FILE_NAME%. Error code: %errorlevel% 
               )
        )
    )
)

:: 结束脚本
echo Script completed.

endlocal

文章细节

文章编号:
7
添加日期:
2025-04-22 11:29:05