leon460 发表于 2010-11-30 10:48:49

遍历显示某个文件夹中的所有的文件夹创建的时间 的问题【已解决】

本帖最后由 leon460 于 2010-12-1 12:58 编辑

功能:遍历显示某个文件夹中的所有的文件夹创建的时间
怎么就显示不出呢?如果下列代码有问题,那又改怎么写?谢谢了; 显示当前目录中所有文件夹的文件名
$search = FileFindFirstFile("*.")    ;只读取文件夹

; 检查搜索是否成功
If $search = -1 Then
    MsgBox(0, "错误", "没有文件/目录 匹配搜索")
    Exit
EndIf

While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    $FileCreateTime=FileGetTime($file)
    MsgBox(4096, "文件:", $FileCreateTime)
WEnd

; 关闭搜索句柄
FileClose($search)

yhxhappy 发表于 2010-11-30 11:25:20

看不懂楼主到底是是要取文件夹的创建时间还是文件的创建时间#Include <File.au3>
#Include <Array.au3>

$Dir = "C:\"
$FileList = _FileListToArray($Dir, "*", 2)                ;0=返回文件夹及文件名,1=只返回文件名,2=只返回文件夹名
If @Error=1 Then
        MsgBox (0,"","没有找到文件夹")
        Exit
EndIf

Dim $a
        $a = "文件夹名称"
        $a = "创建时间"
For $i = 1 To UBound($FileList)-1
        $a[$i] = $FileList[$i]
        $t = FileGetTime($Dir & $FileList[$i], 1)
        $a[$i] = $t & "年" & $t & "月" & $t & "日 " & $t & ":" & $t & ":" & $t
Next

_ArrayDisplay($a)

leon460 发表于 2010-11-30 13:10:57

本帖最后由 leon460 于 2010-11-30 13:22 编辑

回复 2# yhxhappy

回楼上,要返回文件夹的创建日期时间,,谢谢楼上的代码

若需改变我的代码,请问问题出在哪儿?

3mile 发表于 2010-11-30 14:25:08

回复 3# leon460
; 显示当前目录中所有文件夹的文件名
$search = FileFindFirstFile("*.*")    ;只读取文件夹

; 检查搜索是否成功
If $search = -1 Then
    MsgBox(0, "错误", "没有文件/目录 匹配搜索")
    Exit
EndIf

While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    If FileGetAttrib($file)='D' Then
    $FileCreateTime=FileGetTime($file,1,1)
    MsgBox(4096, $file, $FileCreateTime)
    EndIf
WEnd

; 关闭搜索句柄
FileClose($search)

leon460 发表于 2010-12-1 11:19:36

本帖最后由 leon460 于 2010-12-1 11:34 编辑

回复 4# 3mile

刚刚测试了您的代码,遍历当前文件夹没有问题,但我遍历指定绝对目录时,程序没有反应 例如修改 $search = FileFindFirstFile("c:\*.")
遍历 映射 远程主机的文件夹 就会没有反应。。。。。。不知道怎么回事
ps:二楼代码可以遍历找到映射磁盘内容

leon460 发表于 2010-12-1 11:49:39

本帖最后由 leon460 于 2010-12-1 11:50 编辑

回复 4# 3mile

再次测试代码,,发现如下问题; 显示当前目录中所有文件的文件名
$search = FileFindFirstFile("c:\*.")    ;;支持绝对路径

; 检查搜索是否成功
If $search = -1 Then
        MsgBox(0, "错误", "没有文件/目录 匹配搜索")
        Exit
EndIf

While 1
        $file = FileFindNextFile($search)
        If @error Then ExitLoop
        ;;//若在次添加语句例如根据$file 取其创建日期就会有问题
        MsgBox(4096, "文件:", $file)
WEnd

; 关闭搜索句柄
FileClose($search)

leon460 发表于 2010-12-1 12:34:20

天,,找到原因了,,FileFindFirstFile   返回的是文件名,不含路径!!!!!!!!!!
页: [1]
查看完整版本: 遍历显示某个文件夹中的所有的文件夹创建的时间 的问题【已解决】