|
我知道这个问题跟aardio语言无关,不过这里的高人比较多.
问题: 如何快捷的在所有分区中查找到指定文件名的文件?
代码:
- //先通过快捷方式
- var setpath = ..fsys.lnk.search(exe_name )
- if(!setpath){
-
- var drives = ..sys.volume.getLogicalDrives()
- ..table.reverse(drives)
-
- /*执行耗时函数、并正常处理窗口消息*/
- for(i,drv in drives){
- var info = ..sys.volume.getInfo( drv) ;
- ..fsys.enum( info.drive + "", exe_name,
- function(dir,filename,fullpath,findData){
-
- if(filename == exe_name){
- setpath = fullpath;
- return false;
- }
- },
- true
- );
- }
- //end search
- }
-
-
复制代码
我知道最快的方法是通过fsys.lnk.search去找快捷方式, 这样可以非常快的找到我要打开的某个程序,
但是, 当有一些软件并未创建快捷方式的时候, 也没有注册表可以查(类似各种绿色软件), 就需要在C: D: E: 挨个搜索, 这样可能要N分钟才能找到.
当然, 我可以开多个线程去不同的分区查找...不过还是逃不了要遍历. 哈哈,看看有没有更先进的办法?
谢谢. |
|