;定时备份 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分钟 }
60 queries in 2.054 seconds |