欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-08 09:01:40
我想改变我用subst创建的虚拟盘符的卷标 已知下面的命令无法改变由subst创建的盘符 @echo off subst x: c:\personalfile...

我想改变我用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"

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