vbs与bat混编修改虚拟盘符的卷标

我想改变我用subst创建的虚拟盘符的卷标
已知下面的命令无法改变由subst创建的盘符

@echo off
subst X: c:\personalfiles
wmic logicaldisk where "deviceid='X:'" set volumename="Development"
pause

但是可以用这个vbs脚本来改变

Set oShell = WScript.CreateObject("Shell.Application")
oShell.NameSpace("X:\").Self.Name = "Development"

实话了VBS不熟悉。。。
我改成这样没有生效:

@echo off
subst X: c:\personalfiles
mshta vbscript:CreateObject("Shell.Application").NameSpace("X:\").Self.Name = "Development"

现在想请教下如何修改上面的脚本才能生效?谢谢。

BTW:只想研究批的处理方案。

经过一番研究自己终于搞定了,

:On Error Resume Next
Sub bat
echo off & cls
'&subst X: c:\personalfiles
start wscript -e:vbs "%~f0"
Exit Sub
End Sub
Set oShell = WScript.CreateObject("Shell.Application")
oShell.NameSpace("X:\").Self.Name = "Personal Files"

说明一下吧,反斜杠要转义,最好的话应该是每行首加'&来处理了。

你可能感兴趣的:(vbs与bat混编修改虚拟盘符的卷标)