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


可以用for把第二个文件名提取出来,就转换大小写了。
不过,dir既然无法精确判断时间,那么当dir判断这两个文件的创建时间“相同”时,dir是根据什么规律“固定”这300个文件的顺序?

TOP

15# mxxcgzxxx


这样似乎也不对。。。
8楼的代码有ping -n 1 127.1>nul
但是这句代码的延时时间估计也只有半秒多,所以dir还不是以秒为单位,而是比秒更短的单位

TOP

16# michael8111


这点很难判断了..
或许根据磁盘的文件映射表也不一定。

TOP

是我弄错了,将分看成秒了。
第一个文件19:51.04
第一万个文件19:51.38
用资源管理器查看修改时间排序10000个文件无错。

但用dir /a-d /b /od *.txt 查看顺序就是有个别会乱
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

看来 explorer.exe和dir的排序方式有所不同 或许explorer更为精确
dir有误差的问题还没解决 而namejm的测试结果差别更大 更是匪夷所思

TOP

我又试了一次更有趣了,我用cmd窗口下输入 DIR/od 结果和用批处理的又不一样了,更乱了
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

21# mxxcgzxxx


你应该在命令提示符下输入:
  1. dir /a-d /b /od *.txt
复制代码
这样的测试结果 和批处理完全相同
在cmd和批处理中的命令应该完全相同 才能比较结果
SZDLite Security Lab

TOP

本帖最后由 zm900612 于 2011-5-17 20:36 编辑
看来 explorer.exe和dir的排序方式有所不同 或许explorer更为精确
dir有误差的问题还没解决 而namejm的测试结果差别更大 更是匪夷所思
michael8111 发表于 2011-5-17 20:09

explorer对待时间一样的文件,似乎是名称为依据
  1. @echo off
  2. for /l %%i in (10,-1,1) do cd.>@a%%i.txt
  3. for /l %%i in (1,1,10) do cd.>@b%%i.txt
  4. pause
复制代码
分别用升序和降序生成的文件,在explorer中的排列次序是相同的

TOP

哦 那dir的规律是否也可以通过多次试验来推导出
SZDLite Security Lab

TOP

dir /od 先按时间排列,时间完全相同的部分则按名称排列
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

dir /od 先按时间排列,时间完全相同的部分则按名称排列
hanyeguxing 发表于 2011-5-17 20:56

可是这也解释不通楼主附图的前十行呀?

TOP

25# hanyeguxing


原来的代码创建文件的顺序是从1.txt按顺序排到300.txt
然而1楼 6楼等的结果都是乱序的
如果是先按时间 后按名称 应该严格按照1到300排列 但事实却不是如此
SZDLite Security Lab

TOP

我的是按照时间排序的(你系统问题吧)。
不过依照的是创建时间还是最后修改时间?
  1. @echo off
  2. for /l %%i in (1,1,300) do cd.>%%i.txt
  3. dir /a-d /b /od *.txt >>hello.txt
  4. pause
复制代码
  1. 1.txt
  2. 2.txt
  3. 3.txt
  4. 4.txt
  5. 5.txt
  6. 6.txt
  7. 7.txt
  8. 8.txt
  9. 9.txt
  10. 10.txt
  11. 11.txt
  12. 12.txt
  13. 13.txt
  14. 14.txt
  15. 15.txt
  16. 16.txt
  17. 17.txt
  18. 18.txt
  19. 19.txt
  20. 20.txt
  21. 21.txt
  22. 22.txt
  23. 23.txt
  24. 24.txt
  25. 25.txt
  26. 26.txt
  27. 27.txt
  28. 28.txt
  29. 29.txt
  30. 30.txt
  31. 31.txt
  32. 32.txt
  33. 33.txt
  34. 34.txt
  35. 35.txt
  36. 36.txt
  37. 37.txt
  38. 38.txt
  39. 39.txt
  40. 40.txt
  41. 41.txt
  42. 42.txt
  43. 43.txt
  44. 44.txt
  45. 45.txt
  46. 46.txt
  47. 47.txt
  48. 48.txt
  49. 49.txt
  50. 50.txt
  51. 51.txt
  52. 52.txt
  53. 53.txt
  54. 54.txt
  55. 55.txt
  56. 56.txt
  57. 57.txt
  58. 58.txt
  59. 59.txt
  60. 60.txt
  61. 61.txt
  62. 62.txt
  63. 63.txt
  64. 64.txt
  65. 65.txt
  66. 66.txt
  67. 67.txt
  68. 68.txt
  69. 69.txt
  70. 70.txt
  71. 71.txt
  72. 72.txt
  73. 73.txt
  74. 74.txt
  75. 75.txt
  76. 76.txt
  77. 77.txt
  78. 78.txt
  79. 79.txt
  80. 80.txt
  81. 81.txt
  82. 82.txt
  83. 83.txt
  84. 84.txt
  85. 85.txt
  86. 86.txt
  87. 87.txt
  88. 88.txt
  89. 89.txt
  90. 90.txt
  91. 91.txt
  92. 92.txt
  93. 93.txt
  94. 94.txt
  95. 95.txt
  96. 96.txt
  97. 97.txt
  98. 98.txt
  99. 99.txt
  100. 100.txt
  101. 101.txt
  102. 102.txt
  103. 103.txt
  104. 104.txt
  105. 105.txt
  106. 106.txt
  107. 107.txt
  108. 108.txt
  109. 109.txt
  110. 110.txt
  111. 111.txt
  112. 112.txt
  113. 113.txt
  114. 114.txt
  115. 115.txt
  116. 116.txt
  117. 117.txt
  118. 118.txt
  119. 119.txt
  120. 120.txt
  121. 121.txt
  122. 122.txt
  123. 123.txt
  124. 124.txt
  125. 125.txt
  126. 126.txt
  127. 127.txt
  128. 128.txt
  129. 129.txt
  130. 130.txt
  131. 131.txt
  132. 132.txt
  133. 133.txt
  134. 134.txt
  135. 135.txt
  136. 136.txt
  137. 137.txt
  138. 138.txt
  139. 139.txt
  140. 140.txt
  141. 141.txt
  142. 142.txt
  143. 143.txt
  144. 144.txt
  145. 145.txt
  146. 146.txt
  147. 147.txt
  148. 148.txt
  149. 149.txt
  150. 150.txt
  151. 151.txt
  152. 152.txt
  153. 153.txt
  154. 154.txt
  155. 155.txt
  156. 156.txt
  157. 157.txt
  158. 158.txt
  159. 159.txt
  160. 160.txt
  161. 161.txt
  162. 162.txt
  163. 163.txt
  164. 164.txt
  165. 165.txt
  166. 166.txt
  167. 167.txt
  168. 168.txt
  169. 169.txt
  170. 170.txt
  171. 171.txt
  172. 172.txt
  173. 173.txt
  174. 174.txt
  175. 175.txt
  176. 176.txt
  177. 177.txt
  178. 178.txt
  179. 179.txt
  180. 180.txt
  181. 181.txt
  182. 182.txt
  183. 183.txt
  184. 184.txt
  185. 185.txt
  186. 186.txt
  187. 187.txt
  188. 188.txt
  189. 189.txt
  190. 190.txt
  191. 191.txt
  192. 192.txt
  193. 193.txt
  194. 194.txt
  195. 195.txt
  196. 196.txt
  197. 197.txt
  198. 198.txt
  199. 199.txt
  200. 200.txt
  201. 201.txt
  202. 202.txt
  203. 203.txt
  204. 204.txt
  205. 205.txt
  206. 206.txt
  207. 207.txt
  208. 208.txt
  209. 209.txt
  210. 210.txt
  211. 211.txt
  212. 212.txt
  213. 213.txt
  214. 214.txt
  215. 215.txt
  216. 216.txt
  217. 217.txt
  218. 218.txt
  219. 219.txt
  220. 220.txt
  221. 221.txt
  222. 222.txt
  223. 223.txt
  224. 224.txt
  225. 225.txt
  226. 226.txt
  227. 227.txt
  228. 228.txt
  229. 229.txt
  230. 230.txt
  231. 231.txt
  232. 232.txt
  233. 233.txt
  234. 234.txt
  235. 235.txt
  236. 236.txt
  237. 237.txt
  238. 238.txt
  239. 239.txt
  240. 240.txt
  241. 241.txt
  242. 242.txt
  243. 243.txt
  244. 244.txt
  245. 245.txt
  246. 246.txt
  247. 247.txt
  248. 248.txt
  249. 249.txt
  250. 250.txt
  251. 251.txt
  252. 252.txt
  253. 253.txt
  254. 254.txt
  255. 255.txt
  256. 256.txt
  257. 257.txt
  258. 258.txt
  259. 259.txt
  260. 260.txt
  261. 261.txt
  262. 262.txt
  263. 263.txt
  264. 264.txt
  265. 265.txt
  266. 266.txt
  267. 267.txt
  268. 268.txt
  269. 269.txt
  270. 270.txt
  271. 271.txt
  272. 272.txt
  273. 273.txt
  274. 274.txt
  275. 275.txt
  276. 276.txt
  277. 277.txt
  278. 278.txt
  279. 279.txt
  280. 280.txt
  281. 281.txt
  282. 282.txt
  283. 283.txt
  284. 284.txt
  285. 285.txt
  286. 286.txt
  287. 287.txt
  288. 288.txt
  289. 289.txt
  290. 290.txt
  291. 291.txt
  292. 292.txt
  293. 293.txt
  294. 294.txt
  295. 295.txt
  296. 296.txt
  297. 297.txt
  298. 298.txt
  299. 299.txt
  300. 300.txt
复制代码

TOP

28# Hello123World


同样的代码在我机子上的运行结果仍非顺序,要不老兄试试逆序生成文本,再dir?

TOP

  1. @echo off
  2. for /l %%i in (300 -1 1) do cd.>%%i.txt
  3. dir /a-d /b /od *.txt >>hello.txt
  4. pause
复制代码
这样就是300到1,还是按顺序来的,我是win7企业版。

TOP

返回列表