VB 如何获取最后一个分区的盘符?

PrivateSubForm_Load()SetFsys=CreateObject("Scripting.FileSystemObject")ForEacheDiskIn... Private Sub Form_Load()

Set Fsys = CreateObject("Scripting.FileSystemObject")
For Each eDisk In Fsys.Drives
If eDisk.DriveType = 2 Then msg = eDisk.Path
Next '获取磁盘最后一个分区 值为:msg

If Dir(msg & "\Ghost...\", 16) = "" Then MkDir (msg & "\Ghost...\") '在最后一个分区新建文件夹

Shell "explorer.exe ," & msg & "\Ghost...\", vbNormalFocus '打开新建文件夹

End '自动结束程序
End Sub

大功告成。
展开
 我来答
cd68001
2011-06-16 · TA获得超过4229个赞
知道小有建树答主
回答量:976
采纳率:66%
帮助的人:350万
展开全部
dim i as long
for i=asc("Z") to asc("C") step -1
if dir(chr$(i) & ":\")<>"" then msgbox chr$(i) & "盘是最后一个盘符。":exit for
next i
更多追问追答
追问
Private Sub Form_Load()

Dim i As Long
For i = Asc("Z") To Asc("C") Step -1
If Dir(Chr$(i)) "" Then MsgBox Chr$(i) & "盘是最后一个盘符。": Exit For
Next i

If Dir("i:\Ghost...\", 16) = "" 【Then MkDir ("i:\Ghost...\")】

Shell "explorer.exe ,i:\Ghost...\", vbNormalFocus

End
End Sub

为何新建文件夹【Then MkDir ("i:\Ghost...\")】提示路径未找到。
追答
用法错了,应该写成chr$(i),不能直接写i,i只是对应盘符的Ascii(阿斯克码)而已,况且你直接写成i盘符了。应该改成:
If Dir(chr$(i) & ":\Ghost...\", 16) = "" Then MkDir (chr$(i) & ":\Ghost...\")
Shell "explorer.exe ," & chr$(i) & ":\Ghost...\", vbNormalFocus
End
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
canheng54
2011-06-16 · TA获得超过149个赞
知道答主
回答量:313
采纳率:0%
帮助的人:223万
展开全部
给你推荐个磁盘工具 Acronis Disk Director Home 相当好用! 新建磁盘分区就可以了,点一下新增,系统会分一个盘符,一般是最后一个硬盘盘符的下一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技程序迷
2011-06-16 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1846万
展开全部
枚举盘符,然后通过盘符字母的Ascii来知道最后一个盘符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
110kindliness
2011-06-16 · TA获得超过1327个赞
知道小有建树答主
回答量:772
采纳率:0%
帮助的人:270万
展开全部
对不起我不明白你的意思,什么叫最后一个,怎么最后一个,z这个是最后的一个。
追问
嗯, 比如我要在硬盘最后一个分区建立一个文件夹 Ghost...
F:\Ghost...\

求F盘的相对路径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式