python脚本,支持时间戳
#! /usr/bin/env python # -*- coding: utf-8 -*- import os import time #rsyncDir.py #源文件夹 sourceDir = r"D:\Working\project_ms\msclient\fla\Bin\TD" #目标文件夹 targetDir = r"D:\Working\project_ms\publish\web\src\preview\td.123u.com\wwwroot" #截断时间戳(只更新该事件后面的文件) timeStamp = 1471933633 #是否递归文件夹 iIsRecursion = 1 #是否显示信息 iIsShowInfo = 0 copyFileCounts = 0 def copyFiles(sourceDir, targetDir): global copyFileCounts #print u"%s 当前处理文件夹%s已处理%s 个文件" %(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), sourceDir,copyFileCounts) for f in os.listdir(sourceDir): sourceF = os.path.join(sourceDir, f) targetF = os.path.join(targetDir, f) if os.path.isfile(sourceF): copyFileCounts += 1 #print "sourceF=" + os.path.basename(sourceF) #print os.path.getmtime(sourceF) #print os.path.getmtime(sourceF) > timeStamp #raw_input() #文件时间戳判断 if ( os.path.getmtime(sourceF) > timeStamp ): #创建目录 if not os.path.exists(targetDir): os.makedirs(targetDir) #2进制文件 open(targetF, "wb").write(open(sourceF, "rb").read()) print time.ctime(os.path.getmtime(targetF)) + "\t" + os.path.basename(targetF) #else: # print u"%s %s 已存在,不重复复制" %(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), targetF) if ((iIsRecursion > 0) and os.path.isdir(sourceF)): copyFiles(sourceF, targetF) if __name__ == "__main__": try: import psyco psyco.profile() except ImportError: pass print "sourceDir = " + sourceDir print "targetDir = " + targetDir copyFiles(sourceDir,targetDir) if ((iIsShowInfo > 0)): raw_input()
bat脚本 支持某一天时间
::rsyncDir.bat ::源文件夹 set sourceDir=D:\Working\project_ms\msclient\fla\Bin\TD ::目标文件夹 set targetDir=D:\Working\project_ms\publish\web\src\preview\td.123u.com\wwwroot ::截断时间(只更新该事件后面的文件) set timeStamp=08-24-2016 ::是否递归文件夹 set iIsRecursion=1 ::是否显示信息 set iIsShowInfo=0 @echo start echo sourceDir = %sourceDir% echo targetDir = %targetDir% @echo off if %iIsRecursion% GTR 0 XCOPY %sourceDir% %targetDir% /y/s/D:%timeStamp% if %iIsRecursion% LEQ 0 XCOPY %sourceDir% %targetDir% /y/D:%timeStamp% if %iIsShowInfo% GTR 0 pause