[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 mxxcgzxxx 于 2011-5-17 19:45 编辑

你试下创建1000个文件的FOR,并每次显示一下%%1,会发现在数完前,并没有文件生成,所以应该是FOR创建文件的问题吧!
  1. for /l %%1 in (1,1,1000) do echo %%1&cd.>%%1.txt
复制代码
原理应该和FOR中的GOTO是一样的道理。循环结束后才执行循环中的有效任务
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-5-17 19:54 编辑
10# mxxcgzxxx


文件其实已经创建了,只是explorer刷新不够快而已,这很容易证明的,把文件数改成1000000,然后在没数完的时候刷新一下看看就知道了
zm900612 发表于 2011-5-17 19:43


哦,那是我对CMD的理解还不到位
试了一下10000次的,确实是早已创建文件,但有趣的是我的显示好多秒才显完10000,而10000个文还是在同一秒里创建的,而我刷新时也是出现3000、8000、10000几个层次出现文件,这就有趣了!是什么原因?
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

那就是说创建文件的速度太快,而系统最小只能识别到秒。必须给个延时让创建的时间有秒级上的区别才能正确排序!
这样理解对不!
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

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

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

TOP

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

TOP

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

41# qzwqzw

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

TOP

要想有结论看来要去专业硬件论坛咨询了!
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表