51Testing软件测试论坛

标题: 不知道为什么这段代码总是过不去,有谁知道是怎么回事吗 [打印本页]

作者: vincenthan    时间: 2007-8-20 17:12
标题: 不知道为什么这段代码总是过不去,有谁知道是怎么回事吗
Dim a1,a2,a3,a4
Set a1=createobject("scripting.filesystemobject")
Set a2=a1.opentextfile("e:\36.txt",2,true)
Set a3=a1.drives
For each a4 in a3
        If a4.isready Then
                a2.writeline"the filesystem is '"&a4.filesystem&"'"
    else
            a2.writeline"the disk is not ready"
        End If
Next
a2.close
总是显示磁盘没有准备好,我试了试,好像是D盘
作者: vincenthan    时间: 2007-8-20 17:17
这是关于D盘属性的截图,不知道怎么发上来,只能放到附件里,有人知道是怎么回事吗
作者: surlary    时间: 2007-8-20 17:28
我想应该不是D:盘了,因为图上显示的IsReady=True,未准备好的可能是你的光驱盘符,因为没有插盘。
作者: liujun007    时间: 2007-8-20 21:36
没有遇到过哦
作者: gzj_06    时间: 2007-8-20 21:48
标题: 回复 #3 surlary 的帖子
也不应该是光驱啊,我用LZ的代码运行了一下,什么错误也没有,36.txt文件内容如下:
the filesystem is 'NTFS'
the filesystem is 'NTFS'
the filesystem is 'FAT32'
the filesystem is 'NTFS'
the disk is not ready
the disk is not ready
正好是C、D、E、F、G、H,其中G、H是光驱与虚拟光驱
作者: sstars    时间: 2007-8-20 22:31
标题: 回复 #3 surlary 的帖子
同意surlary的分析:
可以加个打印语句
....   
else
         Msgbox a4.Path
            a2.writeline"the disk is not ready"
        End If
....
看看是不是光驱
作者: yt1985cncn    时间: 2007-8-23 14:02
楼上的是个好办法,能马上就看出LZ想要的结果~~
作者: jackymail    时间: 2007-8-23 14:12
你的e盘没有准备好,你把Set a2=a1.opentextfile("e:\36.txt",2,true)
修改成c或者d,就是存在的磁盘就行了。
作者: vincenthan    时间: 2007-8-27 16:32
抱歉,原来是自身的问题,公司装的软件,D盘打不开,呵呵,不过我还是有点纳闷,既然操作时D盘打不开它又是怎么判断为TRUE的呢,不知道ISREADY这个是怎么判断的,原理是什么




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2