![使用 bat 文件安全删除 USB 驱动器](https://linux22.com/image/1375789/%E4%BD%BF%E7%94%A8%20bat%20%E6%96%87%E4%BB%B6%E5%AE%89%E5%85%A8%E5%88%A0%E9%99%A4%20USB%20%E9%A9%B1%E5%8A%A8%E5%99%A8%20.png)
我希望能够通过编程安全地移除 USB 驱动器(给定驱动器号)。这实际上是在应用程序中实现的,但我认为如果可以使用批处理脚本完成,我可以轻松地将其转换为代码。
唯一的问题是我不想包含任何第三方应用程序或任何东西,所以如果有人可以告诉我如何使用diskpart
或任何替代方案,我将不胜感激。
答案1
如果电源外壳对于您的批处理脚本语言来说是可以接受的,它很简单
$vol = get-wmiobject -Class Win32_Volume | where{$_.Name -eq 'F:\'}
$vol.DriveLetter = $null
$vol.Put()
$vol.Dismount($false, $false)
编辑:
看到你的评论说你将通过 Java 应用程序执行此操作,你可能只想直接从 Java 调用 WMI 对象。
Java 示例:
public string GenerateScript(string driveLetter)
{
return "$vol = get-wmiobject -Class Win32_Volume | where{$_.Name -eq '" + driveLetter + :\\'};\n" +
"$vol.DriveLetter = $null\n" +
"$vol.Put()\n" +
"$vol.Dismount($false, $false)\n";
}