找回密码
 加入
搜索
查看: 2395|回复: 10

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

  [复制链接]
发表于 2013-4-6 08:23:42 | 显示全部楼层 |阅读模式
AU3能实现这个功能吗?请高手赐个代码吧。谢谢。
发表于 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[0]
                FileDelete($targetDir & "\" & $fileList[$i])
        Next
EndIf
$subDirList = _FileListToArray($targetDir, "*", 2)
If IsArray($subDirList) Then
        For $i = 1 To $subDirList[0]
                If $subDirList[$i] = $subDirDoNotRemove Then ContinueLoop
                DirRemove($targetDir  & "\" & $subDirList[$i], 1)
        Next
EndIf
 楼主| 发表于 2013-4-6 13:03:41 | 显示全部楼层
谢谢大侠。我试一下。
 楼主| 发表于 2013-4-6 13:07:29 | 显示全部楼层
回复 2# veket_linux

谢谢大侠的帮助。我试一下。
发表于 2013-4-6 22:53:14 | 显示全部楼层
支持支持。。。
 楼主| 发表于 2013-4-7 07:48:51 | 显示全部楼层
本帖最后由 heimahack 于 2013-4-7 07:53 编辑

回复 2# veket_linux

谢谢好了。真不错。
发表于 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为名字的文件夹下
很喜欢安装界面中的一句话,令人愉悦的代码通常极其简单粗暴,不知我的解答能不能满足你的要求!
发表于 2013-4-14 20:55:56 | 显示全部楼层
我是新手,有一事不明,为什么二楼写出的代码是彩色的,而我的是黑色的呢,望高手解答,谢谢!
发表于 2013-4-14 20:59:06 | 显示全部楼层
楼主是来请教问题的,问题解决了,为什么不在标题中注明“已解决”呢,方便了自己,也应该方便别人啊!
发表于 2013-4-14 21:00:29 | 显示全部楼层
回复 7# 32714107


    用Au3标签替换Code标签

[ code ] ====> [ au3 ]
发表于 2013-4-14 21:20:04 | 显示全部楼层
谢谢Qokelate 前辈,我明白了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 12:24 , Processed in 0.156619 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表