VBScript - отключить USB-накопитель - PullRequest
4 голосов
/ 21 ноября 2011

У меня утомительный проект. Мне нужно вставить флэш-накопитель USB в компьютер, затем скопировать на него три файла, а затем размонтировать его и повторить 3000 раз (буквально). Я надеялся придумать какой-нибудь VBScript, который может сократить мои действия до

  1. вставьте флешку,
  2. двойной щелчок по файлу .vbs,
  3. извлеките USB-накопитель.

Я полагаю, что не составит труда создать копию и вставить часть кода, если я каждый раз вставляю USB в один и тот же порт. Это предположение верно? Однако настоящей проблемой является отключение / извлечение USB-накопителя. Есть ли какой-нибудь простой код VB Script, который может это сделать?

Ответы [ 4 ]

1 голос
/ 21 ноября 2011

Это был первый результат Google для vbscript unmount : Отключение USB-накопителей


Это работало в Windows 7, если сценарий запускается с повышенными правами (какАдминистратор):

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

mountvol входит в состав Windows.


Вы, возможно, даже можете уменьшить объем ввода, необходимый путем опроса буквы диска, к которой подключается USB-накопитель,и если на диске есть, скопируйте файлы и затем размонтируйте.

0 голосов
/ 11 апреля 2018

Лучший вариант, который я могу найти, это:

1) откройте оболочку, запустите 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-накопитель можно безопасно удалить, или вы можете извлечь фантом, чтобы извлечь его.

0 голосов
/ 20 сентября 2014

Мой ответ не очень связан, но если вы хотите использовать Linux, у меня будет полный программный стек именно для этого. Он подключается к системе Linux udev и автоматически форматирует USB-накопители, которые подключаются к определенным USB-портам, затем копирует файлы на диск, отключает диск и информирует пользователя.

Мы использовали это для копирования данных на 500+ USB-накопителей.

0 голосов
/ 21 ноября 2011

Поскольку вы делаете это с помощью флэш-накопителя, вы можете установить на него DevCon и использовать DevCon для извлечения диска ..

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

или вы также можете попробовать DevEject

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

...