怎么简单地进行文件同步?(100分)

  • 主题发起人 主题发起人 LuJuhe
  • 开始时间 开始时间
L

LuJuhe

Unregistered / Unconfirmed
GUEST, unregistred user!
我经常需要在家里和办公室写程序,通过网络或者U盘,但是由于文件较多,拷贝文件
需要很长时间,所以想只更新修改过的文件才好。 试用了一下系统自带的“公文包”
功能感觉不好用。请问大家是如何处理的?

要求: 家中电脑上的文件夹 - U盘或者网络上的文件夹 - 办公电脑上的文件夹
三者能够保持同步,只更新修改过的文件,简便安全且易用。
 
将两个文件夹下的同名文件比较一下,最后修改时间不同的拷贝
下面是获得文件的创建时间和最后修改时间
TWzFile=class(TObject)
private
function CovFileDate(Fd:_FileTime):TDateTime;
public
function Wz_GetFileCreateDate(Const Tf:string):string;//获得文件的创建时间
function Wz_GetFileModifyDate(Const Tf:string):string;//获得文件的修改时间
end;

function TWzFile.CovFileDate(Fd: _FileTime): TDateTime;
var
Tct:_SystemTime;
Temp:_FileTime;
begin
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate:=SystemTimeToDateTime(Tct);
end;

function TWzFile.Wz_GetFileCreateDate(Const Tf:string): string;
const
Model='YYYY-MM-DD';
var
Tp:TSearchRec;
T1:string;
begin
FindFirst(Tf,faAnyFile,Tp);
T1:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftCreationTime));
result:=T1;
FindClose(Tp);
end;

function TWzFile.Wz_GetFileModifyDate(const Tf: string): string;
const
Model='YYYY-MM-DD';
var
Tp:TSearchRec;
T1:string;
begin
FindFirst(Tf,faAnyFile,Tp);
T1:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftLastWriteTime));
result:=T1;
FindClose(Tp);
end;
 
老弟,我要的是现成的软件工具,而不想自己写一个。。。[:)]
 
估计还没有像你这种要求的现成的软件
 
自己写一个吧,其实也不麻烦。 :)
 
有!!
InSync就可以
 
FTPSync就很不错...你搜索一下,我一直用它,我经常用它更新我单位内部的数据...
 
建议在修改数据或程序时同时保留原有文件备份。或者干脆拷贝一份到桌面上,
然后进行修改并同原有文件相比较去除相同时间的文件,
这样就能够解决你所描述的文件多的问题
 
会有时钟误差.

有两个办法:
1 xcopy /D:m-d-y
/D:m-d-y 复制在指定日期或指定日期以后改变的文件。
如果没有提供日期,只复制那些源时间
比目标时间新的文件。
2 在上级目录上点右键,搜索,指定时间找.然后拖到U盘.
 
多人接受答案了。
 
我用了InSync,FTPSync,不错。。。

时钟误差用NTP同步来消除,效果不错,谢谢各位。
 
后退
顶部