VBScript - 卸载USB驱动器

时间:2011-11-21 01:45:06

标签: vbscript usb unmount

我有一个单调乏味的项目。我需要将USB闪存盘插入计算机,然后将三个文件复制到该驱动器,然后卸载它并重复3000次(字面意思)。我希望能够提出一些可以将我的行为简化为

的VBScript
  1. 插入USB闪存盘,
  2. 双击.vbs文件,
  3. 移除USB闪存盘。
  4. 我认为只要我每次都将USB插入同一个端口,就不难想出复制和粘贴部分代码。这个假设是否正确?但是,真正的问题是卸载/弹出USB驱动器。是否有任何简单的VB脚本代码可以实现这一目标?

4 个答案:

答案 0 :(得分:1)

这是 vbscript unmount 的第一个Google结果:Unmounting USB drives


如果脚本运行提升(作为管理员),这在Windows 7上有效:

Set shell = WScript.CreateObject("WScript.Shell")
shell.Run "mountvol <drive>: /d"
Windows中包含

mountvol


您甚至可以通过轮询USB记忆棒安装到的驱动器号来减少所需的输入,如果存在驱动器,则复制文件然后卸载。

答案 1 :(得分:0)

由于您使用拇指驱动器进行此操作,您可以将DevCon放在其上并使用DevCon弹出驱动器..

http://support.microsoft.com/kb/311272

或者您也可以尝试DevEject

http://translate.google.com/translate?u=http://www.withopf.com/tools/deveject/&langpair=de%7Cen

答案 2 :(得分:0)

我的回答并不是很相关,但是如果你愿意使用Linux,我会有一个完整的软件堆栈。它的作用是挂钩Linux udev系统并自动格式化连接到某些USB端口的USB笔式驱动器,然后将文件复制到驱动器,卸载驱动器并通知用户。

我们使用此功能将数据复制到500多种商品USB笔式驱动器。

答案 3 :(得分:0)

我能找到的最佳选择是:

1)打开一个shell并运行mountvol并找到GUID

\\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\
    F:\

2)在脚本

中执行mountvol / p [GUID]
Dim eject
Set eject = WScript.CreateObject("WScript.Shell")
eject.Run "mountvol \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\ /p"
Set eject = Nothing

此方法的唯一问题是需要管理员访问才能删除驱动器号。如果用户调用它将卸载驱动器,在这种情况下会留下F:幻像。移除USB驱动器是安全的,或者您可以弹出模型将其移除。