DELPHI删除指定目录下指定扩展名的文件
2007-01-10 06:01
495 查看
网上有好多清空指定目录及子目录文件的函数,但没有可以指定扩展名的,自己写了一个
{$WARN SYMBOL_PLATFORM OFF}
function DeletePath(mDirName: string; Ext: String = '*'): Boolean;
var
vSearchRec: TSearchRec;
vPathName, tmpExt: string;
K: Integer;
begin
Result := true;
tmpExt := Ext;
if Pos('.', tmpExt) = 0 then
tmpExt := '.' + tmpExt;
vPathName := mDirName + '\*.*';
K := FindFirst(vPathName, faAnyFile, vSearchRec);
while K = 0 do
begin
if (vSearchRec.Attr and faDirectory > 0) and
(Pos(vSearchRec.Name, '..') = 0) then
begin
FileSetAttr(mDirName + '\' + vSearchRec.Name, faDirectory);
Result := DeletePath(mDirName + '\' + vSearchRec.Name, Ext);
end
else if Pos(vSearchRec.Name, '..') = 0 then
begin
FileSetAttr(mDirName + '\' + vSearchRec.Name, 0);
if ((CompareText(tmpExt, ExtractFileExt(vSearchRec.Name)) = 0) or (CompareText(tmpExt, '.*') = 0)) then
Result := DeleteFile(PChar(mDirName + '\' + vSearchRec.Name));
end;
if not Result then
Break;
K := FindNext(vSearchRec);
end;
FindClose(vSearchRec);
end;
相关文章推荐
- 批处理 批量删除当前目录及子目录下多个指定的扩展名文件
- 并发删除指定目录下指定扩展名的文件
- delphi 删除指定目录 下 指定日期之前所有文件
- rm 利用 ls -l, grep, awk 命令删除指定时间创建的文件或目录
- Java版本的删除指定目录及子目录下名叫“xxx.txt”的所有文件
- Linux-删除一个目录下的所有文件,但保留一个指定文件
- 如何在git中删除指定的文件和目录
- 两个delphi下遍历指定目录下指定类型文件的函数
- 涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串
- shell删除当前目录及递归目录下文件指定字符串
- Dos命令复制文件夹到制定目录 删除指定目录及其文件夹下的文件
- 递归删除当前目录下所有指定的目录和文件
- 用批处理删除指定目录或文件
- C#IO操作,删除指定目录下的所有文件夹和文件
- 递归删除指定目录下的 .git 文件
- 删除指定目录下的文件(不包括次目录)
- NO.49 删除某目录下所有指定名称的文件(比如批量删除vssver.scc)
- ASP.NET 删除指定目录下的所有文件和文件夹
- 获取指定目录下指定扩展名文件的绝对路径,存储到文本文件中
- 删除文件排除指定文件或者目录方法加实例精讲