Can*_*uke 77 windows command-line batch-file
我正在为 Windows 7 构建一个备份脚本,我希望它执行的最后一个操作是安全地“移除”它正在备份的 USB 驱动器。我的印象是始终将驱动器插入同一个USB 端口将保持相同的 DEV_ID(如果我错了,请纠正我)。使用命令行(或 PowerShell),如何在没有用户输入的情况下告诉 Windows 安全地自动删除硬件?
就像占位符一样,其他可能有办法做到这一点的操作系统也很高兴知道。
Kar*_*ran 72
除了在另一个答案中提到的Uwe Sieber 的RemoveDrive之外,还有一大堆实用程序可以实现这一点。一个小清单如下:
USB Disk Ejector主要是一个基于 GUI 的实用程序,但也可以很好地从命令行使用,以通过指定驱动器号/(部分)驱动器名称/挂载点等来弹出运行程序的驱动器或任何驱动器。免费和开源。

USB Safely Remove不是免费的,但它是一个强大的磁盘删除实用程序,具有许多高级功能,当然包括命令行支持。Zentimo是大哥哥,有甚至 更多 的功能。

微软自己的DevCon是设备管理器的命令行版本。除了可从 KB 页面获得的原始 Win2K/XP 时代版本外,还有可从各种 MS 来源获得的较新版本(32 位和 64 位),如这篇在哪里可以找到 DevCon.exe文章中所述。可以在适当的Windows 驱动程序工具包 (WDK) 中找到适用于 Windows 7(也可能是 Windows 8)的 DevCon.exe ,如该线程中所述(其中还包含指向提取的可执行文件的下载链接)。
devcon status *或devcon hwids *或devcon findall =usb(对于更紧凑的列表)应该告诉您设备的硬件 ID。例如:
USB\VID_0781&PID_7113\0001162825
名称:USB 大容量存储设备
驱动程序正在运行。
然后,您可以尝试删除设备devcon remove "USB\VID_0781&PID_7113"(允许使用 * 之类的通配符,但要小心,否则您最终可能会完全删除其他内容!)
有人问“是否有 DOS 提示(来自 Win7 的 cmd.exe)命令来弹出拇指驱动器? ”不幸的是,它作为该线程的副本而关闭。但是,问题是关于在Windows 恢复控制台/系统恢复命令提示符中弹出 USB 驱动器,因此上述任何实用程序都不太可能有帮助。在这种情况下,使用Diskpart的以下方法应该可以工作:
键入diskpart并等待 diskpart 提示 ( DISKPART>)
类型 list volume
仔细记下 USB 驱动器的卷号(使用列出的属性,例如驱动器号、标签、类型和大小以获取帮助)
类型select volume <number>,其中<number>是上面提到的卷号

类型 remove all dismount
键入exit以退出 Diskpart
现在您应该能够安全地移除您的 USB 驱动器,而不必担心数据丢失。
sti*_*ijn 35
RemoveDrive过去对我很有帮助
cli*_*ole 20
要回答这个问题......你不需要第三方的东西。
使用命令行(或 PowerShell),如何在没有用户输入的情况下告诉 Windows 安全地自动删除硬件?
运行以下命令: RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
打开安全删除硬件对话框:
由于它是一个备份设备,这意味着它是一个存储设备,因此可以从 powershell 完成 - 只需将 X: 替换为您想要的驱动器号:
$driveEject = New-Object -comObject Shell.Application
$driveEject.Namespace(17).ParseName("X:").InvokeVerb("Eject")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220060 次 |
| 最近记录: |