;定时备份
old_hour = %A_Hour%
;源路径
source = D:\1
;目标路径
dest = E:\1
Loop
{
new_hour = %A_Hour% ;定义新旧小时
if new_hour <> %old_hour% ;如果不等
{
RunWait,%ComSpec% /c dir `"%source%`" /A-D /b /s >files.tmp,,Hide ;CMD dir命令获取文件列表
RunWait,%ComSpec% /c dir `"%source%`" /AD /b /s >folders.tmp,,Hide ;CMD dir命令获取文件夹列表
Loop ;创建不存在的文件夹
{
FileReadLine,tmpfolder,folders.tmp,%A_Index%
If ErrorLevel
Break
if tmpfolder <>
{
StringReplace,tmpdestfolder,tmpfolder,%source%,%dest% ;替换路径
FileCreateDir,%tmpdestfolder% ;创建文件夹
}
}
Loop ;复制不存在的或更新的文件
{
FileReadLine,tmpfile,files.tmp,%A_Index%
If ErrorLevel
Break
if tmpfile <>
{
StringReplace,tmpdestfile,tmpfile,%source%,%dest% ;替换路径
IfNotExist,%tmpdestfile% ;不存在
FileCopy,%tmpfile%,%tmpdestfile%,1
Else
{
FileGetTime,sourcetime,%tmpfile% ;获取源文件修改时间
FileGetTime,desttime,%tmpdestfile% ;获取目标文件修改时间
if sourcetime > %desttime% ;如果源文件更新
FileCopy,%tmpfile%,%tmpdestfile%,1
}
}
}
}
Sleep,60000 ;等待1分钟
}