diskpart を使用して VHD をフォルダー (ジャンクション) にマウントしています。
VHD をアンマウントした後、FileSystemObject を使用してフォルダーを削除する必要があります。
var vhdPath = "D:\SomeVhd.vhd";
var fsObj = new ActiveXObject("Scripting.FileSystemObject");
var TypeLib = WScript.CreateObject("Scriptlet.TypeLib");
var vhdmountpoint = fsObj.GetDriveName(vhdPath) + "\\" + TypeLib.Guid;
//Mount with diskpart here, vhdmountpoint is now a junction
//Dismount with diskpart here, vhdmountpoint still a junction
if (fsObj.FolderExists(vhdmountpoint)) { //returns true!
fsObj.DeleteFolder(vhdmountpoint); //Returns path not found
}
何か不足していますか?
PS
次のようにして、この問題を回避しました。
var shell = WScript.CreateObject("WScript.Shell");
shell.Run("cmd /c rmdir " + vhdmountpoint);
それはハックとしてカウントされると思います。