j88iang 发表于 2010-9-29 11:23:30

如何删除一个文件夹下的所有子文件夹而不删除文件(指点一二)

本帖最后由 j88iang 于 2010-9-29 12:37 编辑

指点江山,激扬文字

pizigao 发表于 2010-9-29 11:45:25

DirRemove("C:\dir\dir1", 1)
删除 C:\dir\dir1文件夹以及该文件里面的文件

0 = (默认)不删除文件及子目录
1 = 删除文件及子目录(类似于 DOS 下的 DelTree 命令)

水木子 发表于 2010-9-29 11:51:57

DirRemove

j88iang 发表于 2010-9-29 12:35:21

回复 3# 水木子

是多个子文件夹 怎么删除

j88iang 发表于 2010-9-29 12:35:37

回复 2# pizigao


    是多个子文件夹 怎么删除

水木子 发表于 2010-9-29 12:58:59

有多少个就写多少行?{:face (368):}

lanfengc 发表于 2010-9-29 16:01:09

给你段代码。你自己看看其中的关键。然后把这段 代码做成一个函数,从根目录开始递归调用。就可以完成你要的功能了#include <file.au3>
#include <array.au3>
Global $Path="c:\";开始遍历的根目录
Local $FileArray=_FileListToArray($Path) ;将根目录中所有的文件和文件夹读入数组
Local $ResultArray,$rI=0 ;定义一个结果数组和数组下标
_ArrayDisplay($FileArray,"所有的文件和文件夹") ;显示读取的所有目录和文件
For $i=1 To $FileArray ;从所有的文件和文件夹列表中选出文件夹。
        _FileListToArray($Path&$FileArray[$i]) ;挨个遍历初始数组中的所有文件和文件夹。
        If @error<>1 Then;如果是文件夹,错误号不为1. 不是文件夹,错误号为1
                $ResultArray[$rI]=$FileArray[$i];将该文件夹存入结果数组,数组下标自加1
                $rI+=1
        EndIf
Next
_ArrayDisplay($ResultArray,"文件夹列表") ;显示结果

netegg 发表于 2010-10-1 00:34:28

有文件或空子文件夹的子文件夹删不删?

liufenglg 发表于 2010-10-1 15:44:24

给你段代码。你自己看看其中的关键。然后把这段 代码做成一个函数,从根目录开始递归调用。就可以完成你要 ...
lanfengc 发表于 2010-9-29 16:01 http://www.autoitx.com/images/common/back.gif


    借来一用
#include <file.au3>
#include <array.au3>
Global $Path="d:\lan";开始遍历的根目录
Local $FileArray=_FileListToArray($Path,'*',2) ;将根目录中所有文件夹读入数组
_ArrayDisplay($FileArray,"所有的文件和文件夹") ;显示读取的所有目录
页: [1]
查看完整版本: 如何删除一个文件夹下的所有子文件夹而不删除文件(指点一二)