复制源目录最近的文件到目标目录

现状:数据库每天(周)备份不同的全备到不同的文件夹,需要每天拽到我的移动硬盘上。
即:运行批处理,自动复制最近的一个bak文件到指定目录

@echo off
Rem 源目录,最后不带斜杠
set Resource_Path=D:\DBback\DB_Hxxl,D:\DBback\DB_OA,D:\DBback\Master
Rem 目标目录,最后不带斜杠
Set Target_Path=D:
Rem 本地临时目录,存储批处理生成的临时文件,最后不带斜杠
set Temp_Path=D:
Rem 要复制的文件后缀,请务必带上点
Set File_Postfix=.bak

for %%a in (%Resource_Path%) do (
    
dir "%%a\*%File_Postfix%" /O-D >"%Temp_Path%\temp.txt"
    
Rem 变量延迟
    SetLocal EnableDelayedExpansion
    
set /A Cnt=1
    
Rem 循环文件
    for  /"skip=5 tokens=1,2,3,4" %%i in (%Temp_Path%\temp.txt) do (
        
if !Cnt! EQU 1 (
            
echo "%%a\%%l"
            
echo n|copy  "%%a\%%l" "%Target_Path%\" /-y
            
set /A Cnt+=1
            
Rem 删除临时文件
            Del "%Temp_Path%\temp.txt" 
        
)
    
)
)
原文地址:https://www.cnblogs.com/zc_0101/p/1538091.html