求获取D盘下所有空目录,并将逐行写入txt
求获取D盘下所有空目录,并将逐行写入txt,各位大哥们给个范例或思路。我水平有限,没看懂啥意思 :face (1)::face (1)::face (1):
1 ,获取D盘下所有的空目录,包括子目录?那子目录的父目录算是空目录不?
2 ,写入txt那意思是说,将空目标路径写入到一个txt文本中,还是说在每个空目录下面写一个txt文件?
:face (24)::face (24)::face (24):
#Include <File.au3>
; 设置要扫描的根目录
Local $rootDir = "D:\"
; 创建一个空数组来存储空目录
Local $emptyDirs
Local $count = 0
; 调用递归函数
_getEmptyDirs($rootDir)
; 将结果写入 TXT 文件
Local $filePath = "D:\empty_dirs.txt"
FileDelete($filePath) ; 如果文件已存在,先删除
FileWrite($filePath, ""); ; 创建空文件
For $i = 1 To $count
FileWrite($filePath, $emptyDirs[$i] & @CRLF) ; 将空目录逐行写入文件
Next
; 函数:递归查找空目录
Func _getEmptyDirs($dir)
Local $handle = FileFindFirstFile($dir & "*")
If $handle = -1 Then Return
While True
Local $file = FileFindNextFile($handle)
If @error Then ExitLoop
If StringInStr($file, ".") = 0 Then ; 只处理目录
Local $subDir = $dir & $file & "\"
_getEmptyDirs($subDir) ; 递归调用
; 检查目录是否为空
Local $subHandle = FileFindFirstFile($subDir & "*")
If $subHandle = -1 Then ; 如果目录为空
$count += 1
ReDim $emptyDirs[$count + 1] ; 动态扩展数组
$emptyDirs[$count] = $subDir ; 将空目录添加到数组
EndIf
; 关闭子句柄
If $subHandle <> -1 Then FileClose($subHandle)
EndIf
WEnd
; 关闭主句柄
FileClose($handle)
EndFunc
页:
[1]