Отключение и подключение USB Flash-накопителей

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora
Не пойдёт, я знаю про USR. Мне же нужна компактная портабельная тулза(скрипт), не нуждающаяся в установке в систему, как следствие описанная операция могла бы выполняться с любой машины.
Добавлено: Кстати, посмотрел параметры комстроки в USR, нигде не нашёл информацию по автовыключению всех программ, загруженных из флешки. Она только список этих процессов выводить умеет..
laburj
Сообщения: 186
Зарегистрирован: Пн мар 07, 2005 07:04

Сообщение laburj »

Rodny, спасибо!
видимо придётся всё-таки переходить с 7.02
Аватара пользователя
Lazy Crazy
Сообщения: 400
Зарегистрирован: Вс янв 16, 2005 20:53

Сообщение Lazy Crazy »

AndRa писал(а):Товарищи! Приведите пожалуйста код для кнопки "извлечение флеш-наковителя", чтобы можно было щёлкнуть по кнопке и флешка сразу же отключалась
На счёт необходимости ‘безопасного извлечения’:
в ‘диспетчере устройств’ среди ‘дисковых устройств’ найдите вашу флешку, в её свойствах - вкладка ‘политика’. По умолчанию выставлен параметр ‘Оптимизировать для быстрого удаления’ и тут же объяснено, что при этом кэширование записи отключено и можно отключать флешку без использования ‘безопасного удаления’.
Кстати, если переставить ‘политику’ на вариант ‘оптимизировать для выполнения’, то можно отформатировать флешку в NTFS стандартными виндовыми способами… :wink:
Изображение
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

Flasher писал(а):Не пойдёт, я знаю про USR. Мне же нужна компактная портабельная тулза(скрипт), не нуждающаяся в установке в систему, как следствие описанная операция могла бы выполняться с любой машины.
Гугль с добавлением к названию программы "portable" выдаёт кучу ссылок. Качать и пробовать не стал.
usb safely remove portable rus
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Моторокер писал(а):Качать и пробовать не стал.
А без этого трудно понять, о чём я пишу.

Другими словами: мне нужна кнопка в тулбаре, которая безо всяких промежуточных диалогов выключит сама все проги/убьёт процессы(без сохранения) по адресу %Commander_Drive%, включая ТС, а потом тут же отмонтирует флешку.

Поэтому и проверялась консольная утилита usr.exe в решении задачи. Ссылка с описанием выше. Честно говоря, мало толку от USR, если она не предустановлена в систему. Без локального и глобального автозапуска работать с ней не очень-то и хоцца..
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

skole писал(а):исправил свой скрипт для DevEject.exe

Код: Выделить всё

' ===============================================
' Вызывает окно безопасного отключения USB-дисков
' Автор: SkOle
' ===============================================

Dim WSH

Set WSH = CreateObject("WScript.Shell")

Commander_Path = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%")
Exe = (chr(34) & Commander_Path + "\System\Bin\DevEject\deveject.exe" & chr(34))

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & "." & "\root\cimv2")

For Each objDisk In objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")
If objDisk.InterfaceType = "USB" Then
	If MsgBox("Отключить " & objDisk.Caption & " ?", vbYesNo + vbQuestion, "Безопасное извлечение устройств") = vbYes Then
		WSH.Run Exe & " -EjectId:" & objDisk.PNPDeviceID
	End If
End If
Next
работает с несколькими устройствами, автоматически определяет все устройства типа "USB" и поочередно предлагает их отключить, извлечение устройств идет по ID, а не по букве диска
Подскажите пожалуйста путь deveject.exe для этого скрипта
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

angry_dog писал(а):Подскажите пожалуйста путь deveject.exe для этого скрипта
%Commander_Path%\System\Bin\DevEject\deveject.exe
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

Batya
Я Вас благодарю каждый день запуская скрипт "Создание дерева папок согласно разделителя"
Batya писал(а): %Commander_Path%\System\Bin\DevEject\deveject.exe
Подскажите ещё параметры запуска, будьте добры
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

angry_dog писал(а):Подскажите ещё параметры запуска, будьте добры
Если речь о скрипте отключения USB-дисков, то параметры не нужны.
Нет, я не сплю. Я просто медленно моргаю.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

http://www.ejectusb.com/ ?

[mod="CaptainFlint"]Поправил нерабочую ссылку.[/mod]
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

CaptainFlint
Спасибо.
zvyagaaa
Сообщения: 46
Зарегистрирован: Пн авг 31, 2009 10:38

Сообщение zvyagaaa »

Была бы кнопка, которая бы решала вопрос так, как это реализовано во Фригате - было бы круто (т.е. чтобы буква диска сама бы определялась по тому, какое окно сейчас активно), а так - лучше USB Safely Remove я не знаю. Плюс есть функция автоматического открытия флешки в тотале. Плюс поддерживается командная строка. Заплатил 300 рублей и сейчас пользуюсь с удовольствием. Не знаю как у вас - а я отключаю когда флешку, если конечно файловые операции не проводятся, то ТС сам на диск С:/ переключается. Т.е. ТС не держит флешку, если только не копирует, или не просматриваются файлы в листере.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

> чтобы буква диска сама бы определялась по тому, какое окно сейчас активно
Попытка №1

Код: Выделить всё

TOTALCMD#BAR#DATA
%comspec% /c for /f "delims=\" %d in ("%cd%") do cd /d c:&"%commander_path%\totalcmd.exe" /o /s /l c:&
"%%commander_path%%\tools\USBDeview.exe" /stop_by_drive %%d
%commander_path%\wcmicons.dll,54
stop current drive

1
-1
Запущенное с флешки не убивается (и если такое есть, то флешка не отпустится)
Не EjectUSB потому, что на него антивирус сделал стойку.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k писал(а):Не EjectUSB потому, что на него антивирус сделал стойку.
Убрать её никак?

EjectUSB куда предпочтительней перечисленных аналогов. Забыл в своё время поблагодарить Serge Yolkin за ссылку. Я так понимаю, ссылка - ответ на мой предыдущий пост. Спасибо, Серёг!
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Tol!k
Пользуюсь EjectUSB года два, или больше - Symantec, DrWeb, Avast, MSSE на него не реагируют... А кто стойку сделал?
Ответить