Board logo

标题: [系统相关] 能否用批处理弹出U盘? [打印本页]

作者: ny350101    时间: 2011-4-5 00:25     标题: 能否用批处理弹出U盘?

如果可以,代码如何写?
作者: tmplinshi    时间: 2011-4-5 11:20

USBDeview
http://www.nirsoft.net/utils/usb_devices_view.html

弹出 U 盘后提示“xxx 设备现在可安全地从系统移除。”:
  1. USBDeview.exe /stop_by_drive /showmsg i:
复制代码
不出现提示:
  1. USBDeview.exe /stop_by_drive i:
复制代码

作者: TX_kakashi    时间: 2011-4-5 12:33

  1. Rundll32 Shell32.dll,Control_RunDLL HotPlug.dll
复制代码
需要你点一下卸载。
作者: ny350101    时间: 2011-4-7 22:56

谢谢各位,你们的代码都是在能正常拔出U盘的情况的简化操作。还是不能处理类似下图的情况
作者: tmplinshi    时间: 2011-4-8 13:22

本帖最后由 tmplinshi 于 2011-4-8 16:27 编辑

先用 Unlocker 解除程序对 U 盘的锁定:
(需要两个文件:Unlocker.exe 和 UnlockerDriver5.sys)
  1. Unlocker.exe i: /s
复制代码
如果 U 盘上还有程序没有关闭,还是需要先关闭,可以写一个结束 U 盘进程的批处理。

-----------------------

或者用 EjectUSB。在 U 盘直接运行这个工具(不需要参数),会关闭 U 盘上的程序,然后弹出 U 盘。

最好把 Unlocker.exe 和 UnlockerDriver5.sys 放到 EjectUSB.exe 所在目录,遇到有程序锁住了 U 盘时,EjectUSB 会自动调用 Unlocker。

似乎 EjectUSB 只能在 U 盘运行,我测试在其他盘运行 EjectUSB I:,虽然能结束 U 盘上的程序,但不能弹出 U 盘,用 Unlocker 查看 U 盘,发现是被 EjectUSB 锁住了。。
作者: hanyeguxing    时间: 2011-4-8 13:28

5# tmplinshi


为什么不使用 fsutil volume [dismount] VolumePathname 命令呢?
作者: tmplinshi    时间: 2011-4-8 13:35

6# hanyeguxing


提示:
FSUTIL 工具需要一个本地 NTFS 卷。


另外,这个方法跟安全弹出 U 盘是不同的吧。
作者: hanyeguxing    时间: 2011-4-8 13:53

7# tmplinshi


1,这个是针对“如果 U 盘上还有程序没有关闭,还是需要先关闭,可以写一个结束 U 盘进程的批处理。”使用 Unlocker 所说的。
2,“FSUTIL 工具需要一个本地 NTFS 卷。” 没看到有关于 Fsutil:volume 执行需要这个前提的要求啊
作者: zz100001    时间: 2011-4-8 14:43

Volume 和 Drive 以及 Disk(Media) 是不同的,不能用 Fsutil 来操作。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2