搜索
查看: 8864|回复: 15

取分区信息

  [复制链接]

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
发表于 2011-1-7 14:21:43 | 显示全部楼层 |阅读模式
本帖最后由 look 于 2011-1-7 21:59 编辑

io.open();//打开控制台

//导入库
import sys.volume;
var tickStart = time.tick()
//取所有分区信息、分区序列号
var drives = sys.volume.getLogicalDrives()
for(i,drv in drives){
   
var info = sys.volume.getInfo( drv)  ;
   
if(info)
          io.print(
            
"分区:"+info.drive,
            
"序列号"+ info.serial,
            info.serialNum,
"文件系统:" + info.fsys,
            
"压缩:" + ((info.flag & 0x8000/*_FILE_VOLUME_IS_COMPRESSED*/) ? "是" : "否")
            );  

}

io.print(string.format(
"耗时 %.2f 秒",(time.tick() - tickStart)/1000  ));//未禁用软盘时耗时5.58秒【此问题已解决,系我电脑的问题,我把软盘在BIOS禁用就很快了!耗时0.02秒】


execute("pause") //按任意键继续
io.close();//关闭控制台
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2011-1-7 14:24:43 | 显示全部楼层

我试了一下 0.01 秒 第二次试是 0 秒  实际上上面代码中最耗时间的是io.print()函数,除掉这句,根本就不需要时间。 你居然算出来要

我试了一下 0.01 秒
第二次试是 0 秒 

实际上上面代码中最耗时间的是io.print()函数,除掉这句,根本就不需要时间。

你居然算出来要5秒,是不是搞错了。
回复

使用道具 举报

56

主题

474

帖子

3808

积分

荣誉会员

Rank: 8Rank: 8

积分
3808
发表于 2011-1-7 14:32:27 | 显示全部楼层

[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=4507&ptid=698][color=Olive]l

回复 look 的帖子

我第一次是0.02
第二次是0.00
回复

使用道具 举报

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
 楼主| 发表于 2011-1-7 14:37:19 | 显示全部楼层

[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=4508&ptid=698][color=Olive]j

回复 jacen 的帖子

可能是我的电脑的问题,什么影响的呢?酷睿双核2.33   2G内存,SATA 320G硬盘,
是不是虚拟光驱影响的?
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
 楼主| 发表于 2011-1-7 14:47:54 | 显示全部楼层

试了一下卸载虚拟光驱,运行以上代码还是5.59秒,问题出在电脑哪里呢?有经验的朋友指导一下!win7系统,酷睿双核2.33G 2G双通道内存,SATA 32

试了一下卸载虚拟光驱,运行以上代码还是5.59秒,问题出在电脑哪里呢?有经验的朋友指导一下!win7系统,酷睿双核2.33G   2G双通道内存,SATA 320G硬盘,SATA光驱,
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2011-1-7 14:59:41 | 显示全部楼层

换win7试了,0.02秒。

换win7试了,0.02秒。
回复

使用道具 举报

65

主题

953

帖子

5036

积分

荣誉会员

Rank: 8Rank: 8

积分
5036
发表于 2011-1-7 15:02:30 | 显示全部楼层

分区:C: 序列号A01BBC03 2686172163 文件系统:NTFS 压缩:否 分区:D: 序列号CC9F60B0 34329970

分区:C: 序列号A01BBC03  2686172163      文件系统:NTFS   压缩:否
分区:D: 序列号CC9F60B0  3432997040      文件系统:NTFS   压缩:否
分区:E: 序列号E8FE64FF  3908986111      文件系统:NTFS   压缩:否
耗时 0.14 秒
请按任意键继续. . .

WIN7
aaa
回复

使用道具 举报

15

主题

48

帖子

292

积分

荣誉会员

Rank: 8Rank: 8

积分
292
发表于 2011-1-7 15:23:12 | 显示全部楼层

是不是系统的软盘或U盘影响?

是不是系统的软盘或U盘影响?
回复

使用道具 举报

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
 楼主| 发表于 2011-1-7 15:58:07 | 显示全部楼层

[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=4518&ptid=698][color=Olive]网

回复 网虫007 的帖子

谢谢指导,这个问题困扰我一星期了!我把软盘从BIOS里禁用就没有事了~!
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2011-1-7 16:19:10 | 显示全部楼层

A,B盘不要取不就行了

A,B盘不要取不就行了
回复

使用道具 举报

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
 楼主| 发表于 2011-1-7 17:25:09 | 显示全部楼层

[color=#008000][color=#008000] [/color] [color=#008000] [/color] [color=#008





怎样不取A、B盘?函数没有参数,看来要从源码上入手
//GetLogicalDriveStrings
getLogicalDrives = function(){
   
var dr = GetLogicalDrives();
   
var tab = {};
   
for(i=0;32){
        
if( dr & (1<<i) ){
            ..table.push(tab, ..string.pack(
'A'# + i) + ":" )
        }
    }
   
return tab;
}


小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2011-1-7 17:31:45 | 显示全部楼层

这个函数似乎不需要改,你可以试一下是哪个函数需要时间。 他返回所有的盘符,你去掉A,B盘就可以了。

这个函数似乎不需要改,你可以试一下是哪个函数需要时间。
他返回所有的盘符,你去掉A,B盘就可以了。
回复

使用道具 举报

56

主题

474

帖子

3808

积分

荣誉会员

Rank: 8Rank: 8

积分
3808
发表于 2011-1-7 20:55:29 | 显示全部楼层

[color=#000000] [quote]io.open() [/color][color=#0000ff]import[/color][color=#


io.open()
import sys.volume
tab=sys.volume.getLogicalDrives()
for(k,v in tab){
   
if(v="C:" or v="D:"){
        
continue ; //跳过喽
    }
    io.print(k,v)
}

跳过应该就尅有了

回复

使用道具 举报

117

主题

1237

帖子

6592

积分

六级会员

Rank: 9Rank: 9Rank: 9

积分
6592
发表于 2011-1-7 21:21:12 | 显示全部楼层

运行10余次 只有一次是0.02 其余都是0.00

运行10余次
只有一次是0.02 其余都是0.00
我是菜鸟...
回复

使用道具 举报

75

主题

849

帖子

5002

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5002
 楼主| 发表于 2011-1-7 21:28:19 | 显示全部楼层

[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=4547&ptid=698][color=Olive]c

回复 cbtan 的帖子

多谢版主指点,
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

1

主题

11

帖子

91

积分

一级会员

Rank: 2

积分
91
QQ
发表于 2015-11-25 19:27:27 | 显示全部楼层

分区序号怎么取? 比如 C 1:1 D 1:2 E 2:1

分区序号怎么取?
比如
C 1:1
D 1:2

E 2:1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-10-21 04:10 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表