heimahack 发表于 2013-4-6 08:23:42

一个目录下,如果排除一个子目录。然后删除这一个目录下所有文件。包括文件夹

AU3能实现这个功能吗?请高手赐个代码吧。谢谢。

veket_linux 发表于 2013-4-6 12:05:34


#include <File.au3>
Local $targetDir = "d:\123"
Local $subDirDoNotRemove = "xyz"
$fileList = _FileListToArray($targetDir, "*", 1)
If IsArray($fileList) Then
        For $i = 1 To $fileList
                FileDelete($targetDir & "\" & $fileList[$i])
        Next
EndIf
$subDirList = _FileListToArray($targetDir, "*", 2)
If IsArray($subDirList) Then
        For $i = 1 To $subDirList
                If $subDirList[$i] = $subDirDoNotRemove Then ContinueLoop
                DirRemove($targetDir& "\" & $subDirList[$i], 1)
        Next
EndIf

heimahack 发表于 2013-4-6 13:03:41

谢谢大侠。我试一下。

heimahack 发表于 2013-4-6 13:07:29

回复 2# veket_linux

谢谢大侠的帮助。我试一下。

huangwei 发表于 2013-4-6 22:53:14

支持支持。。。

heimahack 发表于 2013-4-7 07:48:51

本帖最后由 heimahack 于 2013-4-7 07:53 编辑

回复 2# veket_linux

谢谢好了。真不错。

32714107 发表于 2013-4-14 20:50:21

本帖最后由 32714107 于 2013-4-14 21:19 编辑

删除d盘根目录下名字为1的文件夹中除了名字为2的文件夹外的所有文件及文件夹#include<File.au3>
DirMove("d:\1\2","d:\2");移动名字为2的文件夹到别的位置

DirRemove("d:\1",1);删除名字为1的文件夹内所有文件及文件夹

DirCreate("d:\1");建立以1为名字的文件夹

DirMove("d:\2","d:\1",1);移动以2为名字的文件夹到以1为名字的文件夹下很喜欢安装界面中的一句话,令人愉悦的代码通常极其简单粗暴,不知我的解答能不能满足你的要求!

32714107 发表于 2013-4-14 20:55:56

我是新手,有一事不明,为什么二楼写出的代码是彩色的,而我的是黑色的呢,望高手解答,谢谢!

32714107 发表于 2013-4-14 20:59:06

楼主是来请教问题的,问题解决了,为什么不在标题中注明“已解决”呢,方便了自己,也应该方便别人啊!

Qokelate 发表于 2013-4-14 21:00:29

回复 7# 32714107


    用Au3标签替换Code标签

[ code ] ====> [ au3 ]

32714107 发表于 2013-4-14 21:20:04

谢谢Qokelate 前辈,我明白了
页: [1]
查看完整版本: 一个目录下,如果排除一个子目录。然后删除这一个目录下所有文件。包括文件夹