[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
30# Hello123World


看来系统之间的差别很大呀,在我机子上,虽然有部分乱序,但总体排序还是按照生成的时间先后排列,也就是说,顺序生成就基本上按顺序排列,逆序生成就基本是按逆序排列,我是盗版旗舰win7。

TOP

我也是win7,与31楼的结果相同
不过28楼 和 30楼的执行结果有些匪夷所思 不知道为什么 namejm的贴图顺序更乱
现在问题越来越严重:dir究竟对于这种情况怎么排列(请注意,排列顺序在文件创建时就固定了)
SZDLite Security Lab

TOP

本帖最后由 zm900612 于 2011-5-18 21:02 编辑

我觉得最好申明一下磁盘格式,我当时的测试盘是ntfs的,不知道楼上几位是不是
反正我感觉要么和mft有关,要么和簇有关

TOP

刚到别人机子上实验了下,貌似18楼当时说对了,应该确实和文件映射有关,ntfs格式的分区下出现少量乱序,fat32下则严格按照先后顺序排列,看来以后碰到这种问题要小心了。

TOP

楼上 我用fat32的U盘测试 发现不但没有严格按照先后排列 反而更乱了 就像namejm的图那样
看来fat32的文件系统也要分情况……
SZDLite Security Lab

TOP

呵呵,我测试的结果很正常,本人环境sp3-fat32。。。
***共同提高***

TOP

我这个顺序是非常无厘头的……
  1. ……
  2. (以上均正常)
  3. 80.txt
  4. 121.txt
  5. 120.txt
  6. 119.txt
  7. 118.txt
  8. 117.txt
  9. 116.txt
  10. 115.txt
  11. 114.txt
  12. 113.txt
  13. 112.txt
  14. 111.txt
  15. 110.txt
  16. ……
  17. (以下均倒序排列)
  18. ……
  19. 83.txt
  20. 82.txt
  21. 81.txt
  22. 135.txt
  23. 165.txt
  24. 166.txt
  25. 167.txt
  26. 168.txt
  27. 169.txt
  28. ……
  29. (以下均正序排列)
  30. ……
  31. 189.txt
  32. 190.txt
  33. 191.txt
  34. 163.txt
  35. 162.txt
  36. 161.txt
  37. 160.txt
  38. 159.txt
  39. ……
  40. (以下均倒序排列)
  41. ……
  42. 139.txt
  43. 138.txt
  44. 137.txt
  45. 122.txt
  46. 123.txt
  47. 124.txt
  48. ……
  49. (122-134正序)
  50. ……
  51. 164.txt
  52. 136.txt
  53. 257.txt
  54. 256.txt
  55. 255.txt
  56. ……
  57. (以下均倒序排列)
  58. ……
  59. 194.txt
  60. 193.txt
  61. 192.txt
  62. 230.txt
  63. 229.txt
  64. (230-203倒序)
  65. 300.txt
  66. 299.txt
  67. 298.txt
  68. 297.txt
  69. (300-258倒序)
  70. 292.txt
复制代码
SZDLite Security Lab

TOP

这个顺序是在fat32的U盘上的测试结果
顺序非常混乱 有点像1楼
36楼的结果正常 37楼就乱了
这到底是怎么回事……
难道dir的排序跟具体的每一个磁盘的设置(比如“簇”等)有关?
SZDLite Security Lab

TOP

一会正序 一会倒序 时不时又冒出来一个毫无规律的
毫无规律的可以理解(时间的判断不精确) 但是在一些部分中何来的极其标准的倒序(见37楼顺序) 这跟文件创建的顺序正好相反
SZDLite Security Lab

TOP

U盘另算,那个和硬盘不一样

TOP

首先在cmd下
dir缺省是以文件名排序显示的
其次文件的修改时间只精确到秒级
当文件的修改时间相同时
以修改时间排序显示时
会按照文件的逻辑存储顺序显示

以下内容仅止于猜测
文件的逻辑存储顺序
与NTFS或者FAT32的文件系统格式无关
而是与磁盘的IO与缓存性能有关
也就是说当系统的磁盘IO与缓存性能极好
且当前无其他显著的磁盘IO任务
那么文件的逻辑存储顺序与文件创建顺序基本一致
如果系统磁盘IO与缓存性能很差
比如闪存盘的IO读写性能
或者当前有其他显著的磁盘IO任务
比如后台的病毒扫描任务
那么文件的逻辑存储顺序与文件创建顺序差异会很大
天的白色影子

TOP

但是如果“逻辑存储顺序”出现倒序 那就应该与IO无关了
我在磁盘没有显著IO任务,且IO性能“比较”好的情况下 做了100组实验数据 结果都是乱序
我贴出一部分 证明dir的顺序在“理想”的磁盘环境中也会是乱的:
  1. 80.txt
  2. 82.txt
  3. 81.txt
  4. 83.txt
  5. 86.txt
  6. 87.txt
  7. 84.txt
  8. 88.txt
  9. 85.txt
  10. 94.txt
  11. 92.txt
  12. 93.txt
  13. 91.txt
  14. 89.txt
  15. 90.txt
  16. 96.txt
  17. 97.txt
  18. 98.txt
  19. 100.txt
  20. 95.txt
  21. 99.txt
复制代码
另外:
ping -n 1 127.1>nul
这条命令的执行时间只有大约半秒
然而如果每隔这个时间间隔创建一个文件 那么dir的顺序就是标准的
也就是说 dir的修改时间应该比秒精确一点
SZDLite Security Lab

TOP

本帖最后由 mxxcgzxxx 于 2011-5-19 21:02 编辑

41# qzwqzw

我想了很久,比较倾向于41楼的说法
有可能是缓存造成的写入延时或别的什么顺序错误
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

42# michael8111
“比较”以及“理想”都是一个模糊的词
需要一个量化的指标来进行标定
可能需要一个脚本

另外修改时间确实是秒级
这是文件存储的数据结构所决定的
dir不可能会检查到低于秒级的单位
这种情况只可能是因为有足够的时间缓冲
文件得以按顺序逐一flush到磁盘中
所以dir才能按照创建顺序展示
天的白色影子

TOP

44# qzwqzw


由于磁盘缓存的存在,我很好奇它到底是不是依次逐一写磁盘的。有没有详细的资料可供参考?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表