[阅读: 408] 2006-10-17 00:58:35
我开始也这么想的。。。。
还好不容易从bc31\bin里找出了一个touch.exe,可惜它只能把指定的文件们的时间改为系统的当前时间。
而我现在的需求是:对于各个子目录,找出里面的每个mov文件,取出它们的时间,再把这个时间设为对应的avi文件(同目录同名的avi文件)的文件时间
这个touch.exe可以作到?
至少也要写脚本吧?我的delphi程序不比那个脚本复杂吧:
type
Pint=^Integer;
procedure TFormTouch.AvisByMov(Path: string; SearchRec: TSearchRec;
var bContinue: Boolean;pdata:pointer);
begin
bContinue:=true;
filesetdate(Path+SearchRec.Name,Pint(pdata)^);
end;
procedure TFormTouch.BBtnTouchClick(Sender: TObject);
begin
UnitScanDir.EnumDirectoryFiles(Edir.Text,Emovmask.Text,faanyfile,nil,FindEveryMov, true, nil);
end;
procedure TFormTouch.FindEveryMov(Path: string; SearchRec: TSearchRec;
var bContinue: Boolean;pdata:pointer);
var
fnavimask:String;
sr:TSearchRec;
movage:Integer;
begin
bContinue:=true;
movage:=fileage(Path+'\'+SearchRec.Name);
fnavimask:=extractfilename(SearchRec.Name);
delete(fnavimask,length(fnavimask)-3,4);
fnavimask:=fnavimask+'*.avi';
UnitScanDir.EnumDirectoryFiles(Path,fnavimask,faanyfile,nil,AvisByMov, false, @movage);
end;