VB编程修改磁盘盘符

比如将D盘改为M盘,我需要用VB编程来改... 比如将D盘改为M盘,我需要用VB编程来改 展开
 我来答
喜欢自作多情
2009-02-05 · TA获得超过614个赞
知道小有建树答主
回答量:408
采纳率:50%
帮助的人:284万
展开全部
Sub RenameVolume()

'利用Shell函数在命令提示符下执行Diskpart命令的脚本,并存入日志文件
'达到替换逻辑盘符的目的
'在WindowsXp系统下测试成功

'获取临时文件路径
Temp = Environ("TEMP") & "\"
'获取命令提示符路径
Cmd = Environ("ComSpec")
'设置脚本文件和日志文件路径
ScriptFile = Temp & "DiskpartScript.txt"
ScriptLog = Temp & "DiskpartScript.log"
'回车符和换行符
vbLfCr = vbLf & vbCr
'脚本文件内容
'选择卷e
'移除盘符e
'分配盘符m
'退出Diskpart
ScriptTxt = "select volume e" & vbLf & vbCr & _
"Remove letter = e" & vbLf & vbCr & _
"assign letter = m" & vbLf & vbCr & _
"exit" & vbLf & vbCr
'打开脚本文件并读取内容
Open ScriptFile For Output As #1
Print #1, ScriptTxt
Close #1
'打开错误处理
On Error Resume Next
'删除原有日志文件
Kill ScriptLog
'关闭错误处理
On Error GoTo 0
'执行脚本
ShellTxt = Cmd & " /c ""diskpart.exe /S " & ScriptFile & " > " & ScriptLog & """"
Shell ShellTxt
'打开错误处理
On Error Resume Next
Do
Err.Number = 0
'打开日志文件并读取内容,因日志文件存取速度慢,必须以锁定方式打开,否则会出错
Open ScriptLog For Input Lock Read Write As #1
DoEvents
Loop Until Err.Number = 0
'关闭错误处理
On Error GoTo 0
'日志文件中含有中文字符,必须以InputB函数以字节方式读取,否则长度会超出
LogTxt = InputB(LOF(1), #1)
Close #1
'转换以字节方式读取的日志文件内容
LogTxt = StrConv(LogTxt, vbUnicode)
'如果日志中出现两次成功,则认为执行成功,否则认为失败
If Len(LogTxt) - Len(Replace(LogTxt, "成功", "", 1)) = 4 Then
MsgBox "盘符替换成功!"
Else
MsgBox "盘符替换失败!"
End If
'删除临时文件
Kill ScriptFile
Kill ScriptLog
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式