无忧启动论坛

标题: omnifs遍历磁盘慢 [打印本页]

作者: bbsphixy    时间: 2011-10-14 12:51
标题: omnifs遍历磁盘慢
omnifs dir 1.2:\moot\sy>nul
if not ERRORLEVEL 1 ...
omnifs dir 1.3:\moot\sy>nul
if ...
omnifs dir 1.4:\moot\sy>nul
if ...
omnifs dir 1.5:\moot\sy>nul
if ...
omnifs dir 1.6:\moot\sy>nul
if ...

omnifs dir 2.1:\moot\sy>nul
.
omnifs dir 2.2:\moot\sy>nul
.
omnifs dir 2.3:\moot\sy>nul
.
omnifs dir 2.4:\moot\sy>nul
.
omnifs dir 2.5:\moot\sy>nul

omnifs dir 3.1:\moot\sy>nul
omnifs dir 3.2:\moot\sy>nul

搜索速度真是慢!5~10多秒一次,假设多硬盘且磁盘分区多时,那花的时间就多了!

曾经也使用过NTFSDOS与for循环的方式,算是最快的!比起omnifs dir 直接使用dir遍历磁盘更快...
可是NTFSDOS也有加载不了的时候!所以改用omnifs来遍历磁盘,虽然不会出错但是执行速度慢...
也使用过ifs加载,NTFS读写也不太理想...

大家给点意见,给点支持!3Q       对NTFS分区的读写问题!

[ 本帖最后由 bbsphixy 于 2011-10-14 13:01 编辑 ]
作者: freesoft00    时间: 2011-10-14 12:55
omnifs 据说是比较可靠,比起速度可靠更重要,如果可靠性保证不了什么也谈不上。
作者: bbsphixy    时间: 2011-10-14 12:59
我是想追求高效!看有没有更好的方法..
作者: tegl    时间: 2011-10-15 07:24
原帖由 bbsphixy 于 2011-10-14 12:51 发表
可是NTFSDOS也有加载不了的时候!


没遇到过,什么情况?
作者: dos时代菜鸟    时间: 2011-10-15 10:47
应该通过脚本把全部 omnifs 指令集中到一起运行通过 omnifs脚本调用。
作者: bbsphixy    时间: 2011-10-15 23:25
标题: 回复 #4 tegl 的帖子
BUG:
NTFS4DOS执行中出现停滞的现象..
NTFS4DOS执行到一半停止不动了..
不得其解。并不是所有机器都会出现这情况..

[ 本帖最后由 bbsphixy 于 2011-10-16 15:29 编辑 ]
作者: bbsphixy    时间: 2011-10-15 23:28
原帖由 dos时代菜鸟 于 2011-10-15 10:47 发表
应该通过脚本把全部 omnifs 指令集中到一起运行通过 omnifs脚本调用。


有点不解,指令集中调用?
我只知道omnifs遍历磁盘只有dir命令
作者: dos时代菜鸟    时间: 2011-10-16 08:13

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=200634&extra=page%3D2
或许对你有些帮助。

脚本共调用了三次 omnifs 就实现了全硬盘一级子目录搜索。
1 获取硬盘分区资料信息,并生成omnifs调用脚本用于dir各分区根目录
2 调用上一步生成的脚本 dir 各分区根目录,获取文件和文件夹列表,并生成omnifs调用的脚本用于dir 各分区根目录下一级子目录
3 调用上一步生成的脚本 dir 各分区一级子目录,并获得相应的文件和文件夹列表

最后通过 awk 整理 两次获得的文件列表找出 我们要找的文件。

[ 本帖最后由 dos时代菜鸟 于 2011-10-16 08:15 编辑 ]
作者: bbsphixy    时间: 2011-10-16 13:12
标题: 回复 #8 dos时代菜鸟 的帖子
谢谢!!学习下.....
作者: dos时代菜鸟    时间: 2011-10-16 21:12
把omnifs 放入bat 逐个调用omnifs指令是 不行的,时间上会慢很多,虽然结果一样,但,bat 中 omnifs 每运行一个命令都会重新把 omnifs 调入内存重新装载内置驱动,很费时间,而要是用 omnifs script 调用脚本,只需要一次装载,就能执行多条命令。这也是为什么 omnifs 提供脚本功能的原因。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3