找回密码
 加入
搜索
查看: 3944|回复: 14

如何检测硬盘分区D是否存在?

[复制链接]
发表于 2009-1-18 16:07:08 | 显示全部楼层 |阅读模式
硬盘只有一个分区的情况下,光驱盘符变成了D盘,用FileExists检测不出来,请教怎么才能检测出硬盘有没有分区D存在?

[ 本帖最后由 gzlin10986 于 2009-1-18 19:12 编辑 ]
发表于 2009-1-18 16:29:30 | 显示全部楼层
提问前先看帮助 再搜索论坛
$var = DriveGetDrive( "FIXED" )
If NOT @error Then
        MsgBox(4096,"", "找到 " & $var[0] & " 个驱动器")
        For $i = 1 to $var[0]
                MsgBox(4096,"驱动器 " & $i, $var[$i])
        Next
EndIf
发表于 2009-1-18 16:59:23 | 显示全部楼层
最简单的办法,向D盘写入一个空白文本文件,再检测是否有这个文件,如果无,就是不存在D盘了
发表于 2009-1-18 19:02:56 | 显示全部楼层
原帖由 新手上路 于 2009-1-18 16:59 发表
最简单的办法,向D盘写入一个空白文本文件,再检测是否有这个文件,如果无,就是不存在D盘了


是个可行方案!楼主可以试下
 楼主| 发表于 2009-1-18 19:11:30 | 显示全部楼层
感谢指教,问题已解决,不过是傻办法:
$var[0]>=2时,D盘肯定存在
发表于 2009-1-18 19:33:20 | 显示全部楼层

if FileExists("d:") Then MsgBox(64,"test","D盘存在")
 楼主| 发表于 2009-1-18 20:35:56 | 显示全部楼层
原帖由 sanhen 于 2009-1-18 19:33 发表

if FileExists("d:") Then MsgBox(64,"test","D盘存在")

感谢居士,不过你这种方法检测到可能D盘是光驱,我想要的是硬盘的第二分区
发表于 2009-1-18 21:09:17 | 显示全部楼层

回复 7# gzlin10986 的帖子

If StringInStr(DriveGetDrive( "FIXED" ), "D:") Then
        MsgBox(0,"","D分区存在")
EndIf
 楼主| 发表于 2009-1-18 22:45:39 | 显示全部楼层
原帖由 78391493 于 2009-1-18 21:09 发表
If StringInStr(DriveGetDrive( "FIXED" ), "D:") Then
        MsgBox(0,"","D分区存在")
EndIf

7628770 好象你的代码不行啊?
可否这样?
$var = DriveGetDrive( "FIXED" )
For $i = 1 To $var[0]
If StringInStr($var[$i], "D:") Then
        MsgBox(0,"","D分区存在")
        EndIf
        Next

[ 本帖最后由 gzlin10986 于 2009-1-18 23:05 编辑 ]
发表于 2009-1-18 23:43:46 | 显示全部楼层

这是第一次发源码

if FileExists("d:") Then Exit   ;如果D盘存在就 EXIT  不存在就继续往下执行
MsgBox(64,"test","D盘不存在")


我还是个新手大家不要笑我啊....
发表于 2009-1-19 00:53:05 | 显示全部楼层
原帖由 gzlin10986 于 2009-1-18 20:35 发表

感谢居士,不过你这种方法检测到可能D盘是光驱,我想要的是硬盘的第二分区



AU3没有参数是可以检测出第几分区的吧只是盘符检测罢了。如果要想知道D:盘是第几个分区的话怕是要调用API或者第三方程序。
发表于 2009-1-21 21:51:51 | 显示全部楼层

如何检测硬盘分区D是否存在?

有个方法,如果是光驱的话就是只读的,你就拷贝一个文件到D盘看是否成功就可以了。
If filecopy("C:Program FilesInternet ExplorerIEXPLORE.EXE","D:") then
msgbox(0,"TEST","D盘存在")
else
msgbox(0,"TEST","D盘不存在")
endif
发表于 2010-2-1 03:27:40 | 显示全部楼层
看上去有点复杂
发表于 2012-1-8 17:09:48 | 显示全部楼层
回复 2# sxd

如果我有两块硬盘,第一个硬盘只有一个分区,第二个硬盘有两分区。这个时候就无法判断第一个硬盘是否有D盘。
发表于 2012-1-8 17:10:04 | 显示全部楼层
回复 5# gzlin10986


    如果我有两块硬盘,第一个硬盘只有一个分区,第二个硬盘有两分区。这个时候就无法判断第一个硬盘是否有D盘。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-19 18:34 , Processed in 0.074514 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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