nmgwddj 发表于 2012-6-2 06:54:52

排序以毫秒级时间命名的文件(已解决)精神崩溃中

本帖最后由 nmgwddj 于 2012-6-2 12:26 编辑

近日无聊,帮朋友做了个工具,就是将一个目录下的所有文件按时间排序排列出来,文件创建时间和修改时间都不靠谱。
但文件名称是以时间命名的,年-月-日-时-分-秒-毫秒。所以想了想只能通过时间来判断文件做排序。
我自己虽然做出来了,但是因为思路太有局限性、太笨拙,效率也是很大的问题,所以贴上来学习一下各位的思路。下面是我自己做出来的效果和相关几个文件,大家可以下载自己搞搞看,期待各位思路。

做出来的效果也就是这样的。


所需文件:

伤心崩溃中,竟然如此简单!!!!!

ashfinal 发表于 2012-6-2 10:28:58

不知道你咋写的 要是我写 就直接存数组,然后 _ArraySort 搞定收工 !{:face (396):}

nmgwddj 发表于 2012-6-2 10:52:24

回复 2# ashfinal


    靠,竟然这么简单,浪费了我不知道多少时间。。。。。

502762378 发表于 2012-6-2 10:54:04

对比后边时间字符窜的大小如何?

shqf 发表于 2012-6-2 10:58:27

不多说了,直接上码#include <File.au3>
#include <Array.au3>
Local $FileList = _FileListToArray(@ScriptDir, "*.txt", 1)
Local $nFileList
For $i = 1 To UBound($FileList) - 1
        $nFileList[$i - 1] = $FileList[$i]
        $nFileList[$i - 1] = StringRight($FileList[$i], 22)
Next
_ArraySort($nFileList, 0, 0, 0, 1)
Local $fFileList
For $i =1 To UBound($nFileList)
        $fFileList[$i] = $nFileList[$i - 1]       
Next
_ArrayDisplay($fFileList, "$fFileList")

ashfinal 发表于 2012-6-2 11:08:05

回复 3# nmgwddj


所以说思路很重要 嘿嘿~

nmgwddj 发表于 2012-6-2 11:14:09

回复 6# ashfinal


    崩溃啊,我竟然一个一个日期去对比。

nmgwddj 发表于 2012-6-2 11:15:47

回复 5# shqf


    {:face (394):}我在崩溃中,打击死我了。。。。

ooxxgod 发表于 2012-6-2 12:11:22

哈哈 被污蔑了

ak47gglllk 发表于 2014-9-22 11:46:19

额,学习,学习,感谢,感谢,非常感谢
页: [1]
查看完整版本: 排序以毫秒级时间命名的文件(已解决)精神崩溃中