команда для безопасного извлечения USB устройств, Чтобы было также легко вытащить, как и вставить |
Здравствуйте, гость ( Вход | Регистрация )
команда для безопасного извлечения USB устройств, Чтобы было также легко вытащить, как и вставить |
MKN |
20.04.2007 - 14:46
Сообщение
#1
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
Кто знает команду для безопасного извлечения USB устройств в среде Win XP ?
Надоело лишние клики делать - одним бы надо. Для Linuxa видел, для Винды никак не найду... |
AndyBitOff |
20.04.2007 - 16:23
Сообщение
#2
|
Gold Member Группа: Супермодераторы Сообщений: 783 Регистрация: 2.11.2004 Из: Saint-Petersburg (Russia) Пользователь №: 67823 |
Хм. А Вы это делаете? Странно, я ниразу не использовал года за три.
Если, конечно, во время записи/чтения вынуть то, возможно, проблемы и будут, а так ИМХО - пофиг. |
-------------------- Если ты сегодня кому-то помог, значит, день прожит не зря и завтра, возможно, помогут тебе. (кредо)
|
|
MKN |
20.04.2007 - 16:48
Сообщение
#3
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
AndyBitOff
Напрасно смеёшься. У меня уже коллекция загубленных таким образом флэшек... :) Так как всё-таки насчёт извлечения одним кликом ? |
SubWoofer |
20.04.2007 - 17:29
Сообщение
#4
|
EDITOR Группа: Full member Сообщений: 481 Регистрация: 5.05.2006 Пользователь №: 160989 |
MKN
Для администраторов локального компьютера система автоматически настроена на безопасное удаление флеш-диска. Проверяем здесь: ”Мой компьютер”, USB-диск, Свойства, Оборудование, далее конкретное USB-устройство, кнопка Свойства, закладка Политика. По умолчанию включено "Оптимизировать для быстрого удаления". Так что администраторам доставать из компьютера USB-диск можно и без "Безопасного извлечения устройства", сразу после окончания работы с диском. Если конечно они сами не изменят дефолтную настройку ;) . Однако простым пользователям локального компьютера, лучше использовать "Безопасное извлечение устройства", т. к. у них по умолчанию, и без права изменения, включено "Оптимизировать для выполнения", т. е. кэширование разрешено, и где это изменяется что-то не нашёл :( ... А вообще, интересно было бы найти эту фичу. Лень - мать прогресса! :) |
-------------------- Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php |
|
MKN |
20.04.2007 - 17:31
Сообщение
#5
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
SubWoofer
Любопытно насчёт админов. Не знал. Спасибо. Но... Если скажем в процессе копирования флэшку выдернуть ?.. Сообщение было отредактировано MKN: 20.04.2007 - 17:33 |
SubWoofer |
20.04.2007 - 17:40
Сообщение
#6
|
EDITOR Группа: Full member Сообщений: 481 Регистрация: 5.05.2006 Пользователь №: 160989 |
MKN
Это будет флеш-моб. Получишь вторую коллекцию загубленных флешей. Потом можно будет открыть музей мёртвых флешей. |
-------------------- Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php |
|
MKN |
20.04.2007 - 17:45
Сообщение
#7
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
SubWoofer
Ну, это я варварскую ситуацию привёл. Вот когда флэшка вставленна и ты с ней не работаешь, а затем вздумал извлечь, а система за каким то лядом к ней обратилась - такая же беда может быть, даже у админа. А всё потому, что лень кликать несколько раз. А вот один - пожалуй... :) |
RealOnix |
20.04.2007 - 20:03
Сообщение
#8
|
Gold Member Группа: Старейшины Сообщений: 552 Регистрация: 19.11.2002 Из: Россия, Москва Пользователь №: 2875 |
SubWoofer
Галка в настройках устройства отключает только кэширование записи. При использовании функции Безопасного извлечения устройства также отключается питание на этом устройстве - светодиод на флэшке гаснет. То же самое с картридером - отключаются все светодиоды на нем. То есть по идее Безопасное извлечение имхо действительно безопаснее чем просто отключение кэширования записи. P.S. На моем переносном USB винте питание таким образом не отключается - он все равно работает. Сообщение было отредактировано RealOnix: 20.04.2007 - 20:04 |
-------------------- На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления. Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. |
|
SubWoofer |
20.04.2007 - 21:09
Сообщение
#9
|
EDITOR Группа: Full member Сообщений: 481 Регистрация: 5.05.2006 Пользователь №: 160989 |
RealOnix
Там галка не просто кэширования записи, а "Кэширование записи и безопасное удаление", в функции которого входит отключение флеша без использования Безопасного удаления. В остальном всё верно. |
-------------------- Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php |
|
RealOnix |
21.04.2007 - 00:03
Сообщение
#10
|
Gold Member Группа: Старейшины Сообщений: 552 Регистрация: 19.11.2002 Из: Россия, Москва Пользователь №: 2875 |
Потратив пару часов на изучение вопроса об отключении USB накопителей через командную строку выяснил следующее:
1. Библиотека выполняющая данные функции называется hotplug.dll - находится в папке System32. 2. Функция отвечающая за отключение устройства называется HotPlugEjectDevice. Ее параметры неизвестны, т.к. функции этой библиотеки недокументированы. На MSDN информации нет. 3. В интернете много людей озадачены подобным вопросом и практически нигде не удалось найти решения. 4. Где то упоминалось что можно отключить устройство при помощи скрипта device.vbs, но у меня так и не получилось это сделать, хотя долго я с ним и не разбирался. Но если есть желание - могу его выложить ;) Вот такая инфа :) |
-------------------- На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления. Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. |
|
MKN |
21.04.2007 - 08:57
Сообщение
#11
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
RealOnix
Осчастлив народ - сделай такой скрипт (device.vbs). Я тогда кнопку извлечения USB так и назову - RealOnix :) |
RealOnix |
21.04.2007 - 09:42
Сообщение
#12
|
Gold Member Группа: Старейшины Сообщений: 552 Регистрация: 19.11.2002 Из: Россия, Москва Пользователь №: 2875 |
MKN
Зачем его делать, если он уже есть :) Он из комплекта какого то тулкита для 2000 винды. Как вложить файл в соощение я не нашел, поэтому залил сюда - _ttp://slil.ru/24268858 Вывод справки: Код cscript device.vbs /? Главная проблема - это определить какое устройство нужно отключать. Если получится - пиши :) |
-------------------- На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления. Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. |
|
MKN |
21.04.2007 - 10:49
Сообщение
#13
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
RealOnix
Это же "универсальный" скрипт для любых девайсов и разнообразных операций с ними... Конкретно под USB его ещё "довести" надо как то... Такая горожа не стоит возни. (кнопка, если и будет у меня - назовётся по другому ! :) ) |
RealOnix |
21.04.2007 - 15:45
Сообщение
#14
|
Gold Member Группа: Старейшины Сообщений: 552 Регистрация: 19.11.2002 Из: Россия, Москва Пользователь №: 2875 |
MKN
Для USB устройств хранения информации используется имя USBSTOR\GenDisk. Его и нужно отключать. Есть еще утилита - devcon.exe - она позволяет работать с устройствами так же как и Диспетчер устройств, но только из командной строки. Найти ее можно на сайте M$. Есть еще родная виндозная утилитка - rsm.exe предназначенная для работы со сменными устройствами. Но думаю, что она тут не поможет. Либо попробуй расковырять библиотеку hotplug.dll - она в этом деле как раз самое то. Проблема только в том, что ее функции нигде не документированы (как я уже и писал выше). Так что из этой затеи тоже мало что получится. В общем, я считаю, что у тебя еще очень долго не появится заветная кнопка :) P.S. Мне хватило вчерашнего вечера, чтобы забить на эту затею. Может быть у тебя терпения будет больше ;) |
-------------------- На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления. Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. |
|
SubWoofer |
21.04.2007 - 15:50
Сообщение
#15
|
EDITOR Группа: Full member Сообщений: 481 Регистрация: 5.05.2006 Пользователь №: 160989 |
RealOnix
Цитата Мне хватило вчерашнего вечера, чтобы забить на эту затею... Аналогично :D |
-------------------- Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php |
|
Lesovik |
21.05.2007 - 19:04
Сообщение
#16
|
Full Member Группа: Full member Сообщений: 113 Регистрация: 1.11.2002 Из: Москва - Зеленоград Пользователь №: 2134 |
Как-то должно работать это
Цитата rundll32.exe hotplug.dll,HotPlugSafeRemovalNotification \\.\pipe\PNP_HotPlug_Pipe_0.{453A981F-62F9-4099-9C21-5D2DEBE4E353} Где 16-ричный код - код устройства. Где взять этот 16-ричный код я пока не догнал - моя флешка определяется как "USB\Vid_4146&Pid_ba01\00AD0000000366" Еще можно так, хотя равносильно клику по иконке в трее: rundll32.exe shell32.dll,Control_RunDLL hotplug.dll Вызывает диалоговое окно отключения usb устройств, остается только нажать кнопку "Stop". Три маленькие утилитки для этого самого: _http://ifolder.ru/2083518 DevEject RemoveDrive EjectMedia И еще одна _http://www.nirsoft.net/utils/usb_devices_view.html Можно попробовать это _http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true или это _http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/mountvol.mspx?mfr=true Сообщение было отредактировано Lesovik: 21.05.2007 - 19:33 |
-------------------- Делайте хорошо! ...плохо само получается...
|
|
RealOnix |
21.05.2007 - 23:18
Сообщение
#17
|
Gold Member Группа: Старейшины Сообщений: 552 Регистрация: 19.11.2002 Из: Россия, Москва Пользователь №: 2875 |
Lesovik
Vid и Pid - это коды вендора и продукта устройства. В данном случае они не нужны. Утилита fsutil (по первой ссылке на M$) работает только с NTFS томами и, боюсь, с флешками мало поможет. Утилита mountvol (по второй ссылке на M$) позволяет монтировать какой либо том (volume) как NTFS папку - то есть для данной проблемы совершенно непригодна. А вот утилитка USBDeview все же делает то о чем так мечтал MKN :) - достаточно только выполнить такую команду: Код usbdeview /stop_by_drive [disk] где [disk] - имя диска с флэшкой, например - F: Остальные утилиты я уже не проверял ;) MKN Возрадуйся же наконец :) Теперь ты можешь назвать завтетную кнопку именем Lesovik :) |
-------------------- На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления. Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. |
|
Lesovik |
22.05.2007 - 00:02
Сообщение
#18
|
Full Member Группа: Full member Сообщений: 113 Регистрация: 1.11.2002 Из: Москва - Зеленоград Пользователь №: 2134 |
DevEject тоже работает.
достаточно скомандовать deveject.exe -EjectDrive:[диск]: где [disk] - имя диска с флэшкой, например - F :) Остальное я тоже не проверял ) Цитата Возрадуйся же наконец Теперь ты можешь назвать завтетную кнопку именем Lesovik И чтоб каждый раз по мне щелкали?! Увольте! :D Сообщение было отредактировано Lesovik: 22.05.2007 - 00:06 |
-------------------- Делайте хорошо! ...плохо само получается...
|
|
MKN |
22.05.2007 - 09:26
Сообщение
#19
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
Спасибо, ребята, хотя "мечтал"я не совсем о том... Не сторонними утилитами, а средствами команды Винды флэшки останавливать на скаку.
Впрочем это же результат - какая вроде бы разница, как гланды удалять... :) Сообщение было отредактировано MKN: 22.05.2007 - 09:26 |
SergKir |
10.08.2007 - 19:26
Сообщение
#20
|
Novice Группа: Новичок Сообщений: 2 Регистрация: 20.06.2007 Пользователь №: 189739 |
в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ
|
MKN |
11.08.2007 - 09:13
Сообщение
#21
|
Баламут Группа: BANNED Сообщений: 1236 Регистрация: 3.12.2004 Пользователь №: 74697 |
SergKir
Цитата в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ Именно с этим безобразием и боролись. Как - см. выше. |
Webber |
14.05.2008 - 21:10
Сообщение
#22
|
Гость |
SergKir Цитата в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ Именно с этим безобразием и боролись. Как - см. выше. У меня немного другая задача - безопасно(!) и максимально быстро извлечь флэшку, даже если она находится в работе. Стандартными и нестандартными утилитами (указанными выше) это не получается! Причём вариантов подобного извлечения два: 1) устройство просто открыто (например, в проводнике, far-е или любой другой программе), но считывание и запиcь на него не производится. 2) на устройство в данный момент производится запись (или происходит чтение). Ни первый, ни тем более второй вариант НЕ позволяют программно извлечь флэшку. Хотя, казалось бы, почему бы не сделать подобное безопасное извлечение хотя бы для первого варианта... А это очень нужно! Цель: сохранность инфы при максимально быстром извлечении устройства (для чего это нужно, наверное, догадываетесь). Сообщение было отредактировано Webber: 14.05.2008 - 21:11 |
vittro |
19.11.2009 - 18:50
Сообщение
#23
|
Гость |
Функции hotplug.dll можно посмотреть в экспортах только от них толку:
CPlApplet CreateLocalServerW DllCanUnloadNow DllGetClassObject DllRegisterServer DllUnregisterServer HotPlugDeviceTree HotPlugDriverBlockedW HotPlugEjectDevice HotPlugEjectVetoedW HotPlugHibernateVetoedW HotPlugRemovalVetoedW HotPlugSafeRemovalNotificationW HotPlugStandbyVetoedW HotPlugWarmEjectVetoedW |
Реклама
|
|
|
|
|
|
Текстовая версия | Сейчас: 21.09.2024 - 07:39 |
|