复制源目录最近的文件到目标目录
现状:数据库每天(周)备份不同的全备到不同的文件夹,需要每天拽到我的移动硬盘上。
即:运行批处理,自动复制最近的一个bak文件到指定目录
即:运行批处理,自动复制最近的一个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 /f "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"
)
)
)
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 /f "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"
)
)
)