以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断电脑上有没有D盘?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81197)

--  作者:happyft
--  发布时间:2016/2/20 16:55:00
--  如何判断电脑上有没有D盘?
打开项目后用了下面的升级代码将升级文件下载到本地电脑的临时目录再升级。
If ftp.Download("\\Update\\Update2.Zip","D:\\UpdateTemporary\\Update2.Zip") = True Then \'如果下载程序文件成功
    UpdatePath = "D:\\UpdateTemporary"
    RemoteUpdate = False
    If Syscmd.Project.Update(False,True) = True Then \'发现新版本时提示用户升级
        \'----升级成功重启后删除临时升级目录----
        If FileSys.DirectoryExists("D:\\UpdateTemporary") = True Then
            FileSys.DeleteDirectory("D:\\UpdateTemporary",2,2)
        End If
    End If
End If

我的问题时,有时候领导的笔记本电脑只有一个C盘,什么东西都是装在一个盘上的,此时没有D盘等 ,要如何判断电脑上有没有D盘呢?
谢谢!

--  作者:Hyphen
--  发布时间:2016/2/20 17:13:00
--  
获取所有盘符,放到命令窗口测试

Dim selectQuery As New Management.SelectQuery("sel ect * fro m win32_logicaldisk")
Dim searcher As New Management.ManagementObjectSearcher(selectQuery)
For Each disk As Management.ManagementObject In searcher.Get()
    
    Dim nType = CInt(disk("DriveType"))
    If (nType <> CInt(IO.DriveType.Fixed)) Then
        Continue For
    Else
        Output.Show(disk("DeviceID").ToString())
    End If
Next

--  作者:Hyphen
--  发布时间:2016/2/20 17:14:00
--  
sql的关键字空格去掉
--  作者:Hyphen
--  发布时间:2016/2/20 17:16:00
--  
直接判断就可以

    Output.Show(FileSys.DirectoryExists("D:\\") )