如何检测硬盘分区D是否存在?
硬盘只有一个分区的情况下,光驱盘符变成了D盘,用FileExists检测不出来,请教怎么才能检测出硬盘有没有分区D存在?[ 本帖最后由 gzlin10986 于 2009-1-18 19:12 编辑 ] 提问前先看帮助 再搜索论坛
$var = DriveGetDrive( "FIXED" )
If NOT @error Then
MsgBox(4096,"", "找到 " & $var & " 个驱动器")
For $i = 1 to $var
MsgBox(4096,"驱动器 " & $i, $var[$i])
Next
EndIf
最简单的办法,向D盘写入一个空白文本文件,再检测是否有这个文件,如果无,就是不存在D盘了 原帖由 新手上路 于 2009-1-18 16:59 发表 http://www.autoitx.com/images/common/back.gif
最简单的办法,向D盘写入一个空白文本文件,再检测是否有这个文件,如果无,就是不存在D盘了
是个可行方案!楼主可以试下 感谢指教,问题已解决,不过是傻办法:
$var>=2时,D盘肯定存在
if FileExists("d:") Then MsgBox(64,"test","D盘存在")
原帖由 sanhen 于 2009-1-18 19:33 发表 http://www.autoitx.com/images/common/back.gif
if FileExists("d:") Then MsgBox(64,"test","D盘存在")
感谢居士,不过你这种方法检测到可能D盘是光驱,我想要的是硬盘的第二分区
回复 7# gzlin10986 的帖子
If StringInStr(DriveGetDrive( "FIXED" ), "D:") ThenMsgBox(0,"","D分区存在")
EndIf 原帖由 78391493 于 2009-1-18 21:09 发表 http://www.autoitx.com/images/common/back.gif
If StringInStr(DriveGetDrive( "FIXED" ), "D:") Then
MsgBox(0,"","D分区存在")
EndIf
7628770 好象你的代码不行啊?
可否这样?
$var = DriveGetDrive( "FIXED" )
For $i = 1 To $var
If StringInStr($var[$i], "D:") Then
MsgBox(0,"","D分区存在")
EndIf
Next
[ 本帖最后由 gzlin10986 于 2009-1-18 23:05 编辑 ]
这是第一次发源码
if FileExists("d:") Then Exit ;如果D盘存在就 EXIT不存在就继续往下执行MsgBox(64,"test","D盘不存在")
我还是个新手大家不要笑我啊.... 原帖由 gzlin10986 于 2009-1-18 20:35 发表 http://www.autoitx.com/images/common/back.gif
感谢居士,不过你这种方法检测到可能D盘是光驱,我想要的是硬盘的第二分区
AU3没有参数是可以检测出第几分区的吧只是盘符检测罢了。如果要想知道D:盘是第几个分区的话怕是要调用API或者第三方程序。
如何检测硬盘分区D是否存在?
有个方法,如果是光驱的话就是只读的,你就拷贝一个文件到D盘看是否成功就可以了。If filecopy("C:Program FilesInternet ExplorerIEXPLORE.EXE","D:") then
msgbox(0,"TEST","D盘存在")
else
msgbox(0,"TEST","D盘不存在")
endif 看上去有点复杂 回复 2# sxd
如果我有两块硬盘,第一个硬盘只有一个分区,第二个硬盘有两分区。这个时候就无法判断第一个硬盘是否有D盘。 回复 5# gzlin10986
如果我有两块硬盘,第一个硬盘只有一个分区,第二个硬盘有两分区。这个时候就无法判断第一个硬盘是否有D盘。
页:
[1]