delphi删除整个目录及目录下的文件

//删除整个文件夹及其下的所有文件
function DelDirAll(aDir: string): Boolean;
var
vSearch: TSearchRec;
vRet: integer;
vKey: string;
begin

if aDir[Length(aDir)] <> ‘\‘ then
aDir := aDir + ‘\‘;
vKey := aDir + ‘*.*‘;
vRet := FindFirst(vKey, faanyfile, vSearch);
while vRet = 0 do
begin
if ((vSearch.Attr and fadirectory) = fadirectory) then
begin
if (vSearch.Name <> ‘.‘) and (vSearch.name <> ‘..‘) then
DelDirAll(aDir + vSearch.name);
end
else
begin
if ((vSearch.Attr and fadirectory) <> fadirectory) then
begin
{System.Sysutils.}DeleteFile(aDir + vSearch.name);
end;
end;
vRet := FindNext(vSearch);
end; //while

{System.SysUtils.}FindClose(vSearch);
Removedir(aDir); // 如果需要删除文件夹则添加
result := True;
end;

时间: 2024-10-30 10:46:58

delphi删除整个目录及目录下的文件的相关文章

Java 遍历指定目录及子目录下的文件

/** * 遍历指定目录及子目录下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @param file 要遍历的指定目录 * @param collector 符合条件的结果添加到此List<File>中 * @param pathInclude 路径中包含指定的字符串 * @param fileNameInclude 文件名(不包含扩展名)中包含指定的字符串 * @param extnEquals 文件扩展名为指定字符串 *

java 递归实现删除或查询指定目录下的全部文件

/** * 递归列举盘符下的全部文件的名称,如E:\HeartIsland * * @author HeartIsland * */ public class FileListDemo { /** * 递归列举盘符下的全部文件的名称.如E:\HeartIsland之下的全部文件 并吧路径打印出来 * * File file = new File("E:\\HeartIsland\\"); * // 列出文件的路径 * System.out.println(file.getPath())

文件上传时,上传到webapps目录下的文件会自动删除

1:文件上传时,上传到webapps目录下的文件会自动删除的原因? tomcat目录下的webapps 文件夹是部署目录,当重新部署服务,上传的文件不在部署文件的范畴内,即此时开发工具中没有上传的文件,所以上传的文件就没有了. 2:解决方法 把文件上传路径设置到webapps目录之外,可以在Tomcat目录下建立一个文件夹,如:upload 3:简单实现 html文件: <!DOCTYPE html> <html> <head> <meta charset=&qu

批处理删除指定目录及子目录下所有.svn目录

Java代码 @REM 根据用户输入,删除指定目录及子目录下所有.svn目录 @echo off :inputPath set DESTINATION_PATH=: set /p DESTINATION_PATH="Please input the root directory need to clear the svn folders , press enter !  :" if not exist %DESTINATION_PATH% ( @echo [Warn] The inpu

删除一个目录及其子目录下的所有.svn文件

今天建立svn,加入代码,发现这些个文件夹中竟然已经有.svn文件夹,也就是它以前使用过svn, 这下就有点麻烦,在全新的svn里,这些.svn需要删除,又不可能一个一个手工去删除 网上翻了一下,发现一大段代码,很不整洁的代码,不想用,直接写了个小函数   代码如下: 直接调用即可: scanfiles('c:\wingsbook'); function scanfiles($pfile){ $dirs=scandir($pfile); foreach($dirs as $file){ $tmp

Recovery模式下/cache/recovery/目录下创建文件,开机后文件被删除

在一次需求的实现过程中需要在remcovery模式下,在/cache/recovery/目录下创建一个日志文件用于记录相关的日志信息,以便于在开机后读取这些日志信息,再根据日志信息做出相应的处理,但是奇怪的是每当开机完成该文件不被系统自动删除,而系统中原有的日志文件(如升级log---last_log_r)等却依然保留,因此在全局中搜索关键字"/cache/recovery/"发现了这其中的原因. 也就是说系统会在系统启动完成后删除/cache/recovery/目录下不是以"

Windows系统下,maven redeploy过程无法删除旧项目的目录

Windows系统下,redeploy过程无法删除旧项目的目录 报错信息在$TOMCAT_HOME/logs下的catalina日志文件中,如下: 信息: Undeploying context [/web-loab] 十月 11, 2014 3:52:26 下午 org.apache.catalina.startup.ExpandWar deleteDir 严重: [D:\tomcat\apache-tomcat-7.0.56\webapps\web-loab\WEB-INF] could n

删除指定目录下过期文件并打印日志

肯定会遇到这样的事,有一个文件夹,每天都在生成文件,那么如何去删除那些过期的文件呢.废话不多说,直接上代码: import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat; public class DeleteFileImpl { //这三个变量也可以在配置文件里面配置,但是需要用到@

6、maven热部署,在Windows系统下,redeploy过程无法删除旧项目的目录

maven热部署,发布到tomcat中,再次重新发布,redeploy过程无法删除旧项目的目录 Tomcat还在使用这个目录,无法删除,必须修改$TOMCAT_HOME/conf/context.xml: <Context antiJARLocking="true" antiResourceLocking="true">

Linux系统下快速删除某个目录下大量文件

不管是哪个操作系统,同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候. 一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢? 你可以用 rm -f *.log 但是你马上就会收到一个出错信息:参数列表太长 一个小时以前我一直还是缩小通用匹配符的范围,例如我依次的执行 rm -f a*.log rm -f b*.log ...... 非常费劲,如果这样还不行可以还要继续细化通配符,这样要删除所有log文件可能需要一整天时间. 废话那么多,其实只需要一个命令就可以