中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求教:vbs中获取当前盘类型 上一主题 | 下一主题
lummox
初级用户





积分 28
发帖 14
注册 2008-2-29
状态 离线
『楼 主』:  求教:vbs中获取当前盘类型

如题。

在类似的程序中,是通过遍历所有驱动器来获得磁盘类型的:

For Each disk In disks
……
Next

我的问题是:
如何直接取得磁盘类型?
        如果当前盘类型<>1          (if ... then 语句) [这是我求教的]
     显示  "当前盘X:\ 盘不是可移动盘,请在移动盘下执行本程序"
        退出程序
        结束判断                 (End If)

2009-9-1 15:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 2 楼』:  


Function ShowDriveType(objdrive)
   Dim fso, d, t, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(objdrive)
   Select Case d.DriveType
      Case 0: t = "Unknown"
      Case 1: t = "Removable"
      Case 2: t = "Fixed"
      Case 3: t = "Network"
      Case 4: t = "CD-ROM"
      Case 5: t = "RAM Disk"
   End Select
   s = "Drive: " & d.DriveLetter & "(" & d.VolumeName & ");  Type: " & t
   Wscript.Echo s
End Function

Set fso = CreateObject("Scripting.FileSystemObject")
Set objdrives=fso.Drives
For Each objdrive In objdrives
ShowDriveType(objdrive)
Next
对于你的问题:
Dim drvName, drv
Set fso = CreateObject("Scripting.FileSystemObject")
drvName = left(Wscript.ScriptFullName, 1)
Set drv = fso.GetDrive(drvName)

If drv.DriveType <> 1 Then
msgbox "当前盘 " & Ucase(drvName) & ":\ 盘不是可移动盘,请在移动盘下执行本程序", 16, "警告"
Wscript.Quit
End If

msgbox "这下面是一些基于可移动磁盘 " & Ucase(drvName) & ":\ 的命令。", 64, "完成"
[ Last edited by qinchun36 on 2009-9-1 at 23:29 ]

2009-9-1 23:09
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: