找回密码
 加入
搜索
查看: 6197|回复: 20

[系统综合] [已解决]中文名字的mp3系统是按什么顺序搜索的

 火.. [复制链接]
发表于 2015-1-26 22:51:10 | 显示全部楼层 |阅读模式
本帖最后由 haijie1223 于 2016-1-13 16:17 编辑

我用下面的代码,显示的顺序并非按照名称、修改时间、创建时间顺序来显示。请问是按照什么顺序来排列的。
答案:按照复制到当前文件夹的先后顺序,先复制进来的在前,后复制进来的在后。如果把先复制进来的文件剪切到其他地方,然后再复制回来,那么再显示的时候,又跑到后面去了。
#include <array.au3>
#include <file.au3>
Dim $list = _FileListToArray(@ScriptDir)
_ArrayDisplay($list)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-1-30 16:13:23 | 显示全部楼层
收藏,等奇迹。学习
发表于 2016-1-13 10:05:16 | 显示全部楼层
mp3等文件排序有其特殊性,可能和其 ID3 标签有关
 楼主| 发表于 2016-1-13 10:22:03 | 显示全部楼层
回复 3# afan


    这个我测试过,好像与ID3标签无关。主要还是在windows的读取原则上。
发表于 2016-1-13 10:25:53 | 显示全部楼层
回复 4# haijie1223


    看你的贴图 箭头所示 至少和创建日期时间有关
 楼主| 发表于 2016-1-13 10:40:34 | 显示全部楼层
回复 5# afan


    确实和创建时间是有关系,一直不明白windows为什么这么排序,还不能更改。因为我要把歌曲放到U盘里,插到车上听,车上的电脑是windows系统,车上的电脑播放顺序和AU3的_FileListToArray读取顺序是一样一样的。
发表于 2016-1-13 11:00:34 | 显示全部楼层
回复 6# haijie1223


    在列表头点击右键看看有木
 楼主| 发表于 2016-1-13 11:08:09 | 显示全部楼层
回复 7# afan


    木有啊~
发表于 2016-1-13 11:09:39 | 显示全部楼层
回复 8# haijie1223


    XP反正是有的…
 楼主| 发表于 2016-1-13 11:16:36 | 显示全部楼层
回复 9# afan


    麻烦A版给个图片看下
发表于 2016-1-13 11:20:13 | 显示全部楼层
回复 10# haijie1223

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-1-13 11:33:41 | 显示全部楼层
回复 11# afan


    这个是explorer的一个排列方式,和AU3的读取顺序无关。刚刚又测试了一下。
在一个文件夹中,用以下代码来显示的话,是按照文件复制到文件夹的先后顺序显示的,和名称、ID3标签、修改时间、创建时间无关。
#include <array.au3>
#include <file.au3>
Dim $list = _FileListToArray(@ScriptDir)
_ArrayDisplay($list)
发表于 2016-1-13 11:50:42 | 显示全部楼层
回复 12# haijie1223


    _FileListToArray() 是按文件名排序的,上面的代码也一样啊。不过没测试mp3
 楼主| 发表于 2016-1-13 13:02:19 | 显示全部楼层
本帖最后由 haijie1223 于 2016-1-13 13:04 编辑

回复 13# afan
似乎不是按照文件名排序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-13 14:36:30 | 显示全部楼层
本帖最后由 luren666 于 2016-1-13 15:08 编辑

_FileListToArray应该也是使用了两个API:"FindFirstFile "、"FindNextFile ",在au3里也有对应的函数。这个读取顺序应该也是受“文件分配表”的影响。
每个分区都有一个"文件分配表",这个表记录了此分区所有的文件在硬盘中的具体磁道、柱面等位置信息,如果这个"文件分配表"丢失,那么这个分区内的文件也就因为不知道在硬盘中的具体位置而无法读取,当然一些数据恢复软件是可以恢复出来的.    我感觉这个文件的排序要么就是跟 文件在文件分配表中所处的位置有关系,而这个位置又是受文件系统的规则来分配的,很可能是随机分配的.要么就是跟文件在硬盘中所存储的磁道位置有关系,这个也是随机的,无法人为控制.所以想人为的对文件读取顺序排序似乎无法做到.  不过有一个不是很好用的办法:把你想先播放的歌曲放到U盘根目录,其它歌放到子文件夹下。  还有,可以试试将U盘格式化一下,然后一个一个文件复制进去,尝试一下是不是按照写入顺序来读取的,我估计这样是可以的,没有测试过,不过这样下次再想重新排序又要格式化,不实用。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-8 09:56 , Processed in 0.089397 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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