想删除除系统盘外的,其他所有盘中小于90k的*.mp4的文件,各位有什么好的方法么?(100分)

  • 主题发起人 主题发起人 dongy_143
  • 开始时间 开始时间
D

dongy_143

Unregistered / Unconfirmed
GUEST, unregistred user!
如题...
要求:查询时占用系统资源较少;另外每隔6个小时或者一天执行一次删除操作;
 
利用Dos命令,在程序中执行Dos命令,命令怎么写,到我"导师"那里看一下:www.baidu.com
 
你的意思是写个DOS命令搜索查询删除?
 
好久以前我在书上看到过.用DOS命令就可以实现你的要求了.不过我忘了命令是怎么写的.记得不是很复杂.
 
自己订一下,100分换来几次留言,心不甘啊...
 
自己顶...
 
不能就这样结了吧?继续顶
 
Function FileSizeByName(Const Filename: String): Int64;
Begin //获取文件大小
With TFileStream.Create(Filename, fmOpenRead Or fmShareDenyNone) Do
Try
Result := Size;
Finally free; End;
End;

Function GetDirName(Const DirName: String): String;
Begin
If DirName[Length(DirName)] <> '/' Then
Result := DirName + '/'
Else Result := DirName;
End;

Function IsDirNotation(Const DirName: String): Boolean;
Begin
Result := (DirName = '.') Or (DirName = '..');
End;

procedure FindFiles(Apath: string);
var
FSearchrec, DSearchrec: TSearchRec;
FindResult: Integer;
begin
Apath := GetDirName(Apath);
FindResult := FindFirst(Apath + '*.mp4', $0000003F + $00000001 + $00000004, FSearchrec);
try
while FindResult = 0 do
begin
取文件大小小于指定值,则删除
application.ProcessMessages;
FindResult := FindNext(FSearchrec);
end;
FindResult := FindFirst(Apath + '*.*', faDirectory, DSearchrec);
while FindResult = 0 do
begin
if ((DSearchrec.Attr and faDirectory) = faDirectory)
and not IsDirNotation(DSearchrec.Name) then
FindFiles(Apath);
FindResult := FindNext(DSearchrec);
end;
finally
FindClose(FSearchrec);
end;
end;

var c:char;
begin
for c:='d' to 'z' do
begin
FindFiles(c+':/');
end;
end;

剩下的你自已研究去
 
随时进行文件夹监控的控件Delphi有,至于要想直接知道变动文件的API,也有,不过很少人使用,如果你会用请教下我:dey-999@163.com
 
接受答案了.
 
后退
顶部