vbsとbatのミキシング仮想ディスクのボリュームラベルの変更

1202 ワード

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"

説明しましょう.反スラッシュは転義します.一番いいのは行頭ごとに'&をつけて処理するべきです.