Работа с файлами-образами и виртуальными дисками из ТС

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

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

Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher
Но можно и сделано - не одно и то же.
Это я понимаю. Я просто предложил решения для других кто заинтересован.

Например, мне не нравится решение через autorun. Зачем каждый раз грузить драйвер а потом его выгружать, если он не каждый раз нужен?
Может есть другой способ?
2. Можно и без
Как именно?
При том, почему это большая проблема? Ведь мы же этот драйвер потом убираем.
5. Это не решение.
Так это же вы советовали? Да-бы избежать батников.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Я просто предложил решения для других кто заинтересован.
Я не увидел решений. Только предложения.
Iori писал(а):Зачем каждый раз грузить драйвер а потом его выгружать, если он не каждый раз нужен?
Для непортабельной домашней сборки - незачем. Это тот случай?
А вот зачем каждый раз выгружать драйвер после отключения одного образа?
Iori писал(а):Может есть другой способ?
Способ сделать что?
Iori писал(а):Как именно?
Это зависит от ответа на вопрос про случай.
Iori писал(а):При том, почему это большая проблема? Ведь мы же этот драйвер потом убираем.
Проблема в чём? Когда "мы" его убираем?
Iori писал(а):Так это же вы советовали? Да-бы избежать батников.
Тогда я отвечал на вопрос отнюдь не в отношении чёрных окон.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
Потому что я прогнал: был уверен, что _портативная_ версия не суёт драйвер в %windir%\system32\drivers :) Аналогично, например, Process Hacker. А тогда, если уже запущена другая _портативная_ версия, лучше проверить наличие/отсутствие драйвера поиском по выводу sc.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Был уверен, несмотря на то, что я дважды написал об этом прямым текстом? :)
В любом случае это не имеет отношения к использованию /unmountall.
Skif_off писал(а):лучше проверить наличие/отсутствие драйвера поиском по выводу sc.
Если оставлять /install, то и имеющейся проверки наличия файла достаточно. А проверять по query имеет смысл именно без запихивания драйвера самой прогой, что я готов показать после ответа про случай.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

All
C учётом направления, которое приняла тема, прежний заголовок "Кнопки Mount / Unmount c помощью ImDisk" заменён на более общий.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Нашел вроде чуть лучше программу. Называестя OSFMount.
http://www.osforensics.com/tools/mount-disk-images.html

Понимает командную строку и может монтировать разные образы.
Если не ошибаюсь, основан на imdisk-e.

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

Сообщение Flasher »

Хочешь - лепи. Знаем и про неё (Portable), даже не думал предлагать. И на неё и на WinMount уже давно прилепили.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher
Хочешь - лепи.
А как это воспринимать? Вы что обиделись на меня?
И на неё и на WinMount уже давно прилепили.
А где на неё (OFSmount) прилепили?
Я вижу только кнопку для Winmount.
Программы одинаково работают и понимают те же параметры?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):А как это воспринимать? Вы что обиделись на меня?
:lol: Даже не думал. А есть за что? Вина гложет? :)
Свою аргументацию в пользу выбора я излагал ранее. Цель писать кнопки для всего, где есть командная строка, себе не ставил. Да и, уверен, с кнопками и мануалом по силам и самостоятельно справиться, это же не скрипты, которые, как оказалось, и не нужны вовсе, судя по ответам или их отсутствию.
Iori писал(а):А где на неё (OFSmount) прилепили?
Где-то у себя точно, коль народ о ней заговорил.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher
Вина гложет?
Может быть :P
Да и, уверен, с кнопками и мануалом по силам и самостоятельно справиться, это же не скрипты, которые, как оказалось, и не нужны вовсе, судя по ответам или их отсутствию.
Да здесь вы правы. Например кнопку для OSFmount я создал без батников и других махинаций по схеме Winmount.

Спасибо за вашу помощь. :) Всего хорошего.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Я не увидел решений. Только предложения.
Ну да, я предложил как и что. Сам решить не могу. Нет таких знаний.
Для непортабельной домашней сборки - незачем. Это тот случай?
Нет не тот. Но я не вижу разницы. Мы грузим драйвер когда он нужен и выгружаем кода не нужен.
Способ сделать что?
Грузить драйвер не через autorun плагин.

Сделал кнопки под OSFmount.

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

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utilities\OSFMount\OSFMount64\OSFMount.com"
-a -t file -f %P%N -m V:
%COMMANDER_PATH%\Icons\imdisk.ico
Mount Image with OSFMount
%COMMANDER_PATH%\Utilities\OSFMount\OSFMount64\
1
-1

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

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utilities\OSFMount\OSFMount64\OSFMount.com"
-D -m V:
shell32.dll,151
Unmount The Mounted Virtual Drive with OSFMount
%COMMANDER_PATH%\Utilities\OSFMount\OSFMount64\
1
-1
Сам OSFMount.com грузит драйвер, то есть regdrv вроде не нужен.
Другое дело, что кнопка только для 64 бит драйвера. Хотелось бы что бы правельный драйвер загружался в зависимости от битности системы. Но здесь без батника не обойтись.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Но я не вижу разницы. Мы грузим драйвер когда он нужен и выгружаем кода не нужен.
В этом и есть разница. Я уже объяснял, что нам нет смысла держать в голове или проверять, оставили мы драйвер на чужой машине или нет. Поэтому логично выгружать его с закрытием ТС.
Iori писал(а):Грузить драйвер не через autorun плагин.
Да, это, как я уже писал, сделать можно, но с учётом ряда обстоятельств, связанных с состоянием драйвера. В некоторых случаях доступ к запуску драйвера может быть закрыт до перезапуска системы.
Iori писал(а):Сам OSFMount.com грузит драйвер, то есть regdrv вроде не нужен.
Как я уже писал, если встроенные средства помимо regdrv. Но суть не в этом, а в том, чтобы драйвер оставался в той же папке (или подпапке), что и программа, чтобы не гадить на чужой машине. OSFMountPortable.exe так и делает, но у него нет комстроки.
Iori писал(а):Хотелось бы что бы правельный драйвер загружался в зависимости от битности системы.
Это не проблема (кстати, драйвер в отличии от ImDisk один, но на целый метр). Ерунда в том, что я уже потерялся в количестве средств, пока пробовал делать аналогии то для одного, то для другого. Изображение
Универсальный вариант с выбранной утилитой и драйвером не получится красиво сделать из-за разницы расположений/наименований подпапок (указания битностей в частности).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher
В этом и есть разница. Я уже объяснял, что нам нет смысла держать в голове или проверять, оставили мы драйвер на чужой машине или нет. Поэтому логично выгружать его с закрытием ТС.
А что насчёт перезагрузки компа? Например, osfmount работает очень интеллектуально. Он не пишет драйвер в system32\Drivers и более того, после перезагрузки компа демонтирует все образы.

Да можно сделать и с закрытием ТС, но я не знаю как :(
Как я уже писал, если встроенные средства помимо regdrv. Но суть не в этом, а в том, чтобы драйвер оставался в той же папке (или подпапке), что и программа, чтобы не гадить на чужой машине. OSFMountPortable.exe так и делает, но у него нет комстроки.
У OSFMount.com есть комстрока. Драйвер OSFMount.sys остаётся в папке с программой. Пишет в реистер , нот это дело происходит с Winmout, WincdEmu, Imdisk итд..

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

Это не проблема
Да это я уже решил через IF EXIST "%PROGRAMFILES(X86)%"

Flasher

Попробуйте вот это: http://rghost.net/6t6pV6XJb
Кнопка через %V
Последний раз редактировалось Iori Пт мар 04, 2016 19:57, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):А что насчёт перезагрузки компа?
Если подразумевается, что программа лежит в ТС и OSFMount не выгрузил драйвер, то перезагрузка не поможет, вылетит ошибка на отсутствующий драйвер.
Iori писал(а):Он не пишет драйвер в system32\Drivers и более того, после перезагрузки компа демонтирует все образы.
С первым понятно. Подтверждаю. А насчёт второго см. выше.
Iori писал(а):Да можно сделать и с закрытием ТС, но я не знаю как
Вот WinCDEmu в этом плане однозначно лучше за исключением автоустановки драйвера при монтировании. Там можно и драйвер сносить и отключать все примонтированные диски. Здесь же придётся проверять диски на подключенность в цикле и пытаться отключить (как я делал с vd_filedisk), а убирать дравер так:

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

Pragma AutorunFinalizeSection
ShellExec /SW_HIDE sc delete OSFMount
Iori писал(а):Пишет в реистер , нот это дело происходит с Winmout, WincdEmu, Imdisk итд..
Иначе не произойдёт инициализации драйвера. При деинсталляции эти данные удаляются.
Iori писал(а):Да это я уже решил через IF EXIST "%PROGRAMFILES(X86)%"
Я же показывал как точнее. Этот же вариант не является оптимальным.
В скрипте для vd_filedisk и WinCDEmu (помимо основы с подключением и автовыбором архитектуры) я добавил отмонтирование всех 'своих' дисков, подключение с любой из сторон и выбор типа системной загрузки (запрос/автомат). Может, чуть позже выложу.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Если подразумевается, что программа лежит в ТС и OSFMount не выгрузил драйвер, то перезагрузка не поможет, вылетит ошибка на отсутствующий драйвер.
У меня такой ошибки нет :shock: Но я знаю что драйвер в реистре и system explorer, показывает драйвер но не находит сам файл OSFMount.sys. Значит мусор в системе остаётся.
Вот WinCDEmu в этом плане однозначно лучше за исключением автоустановки драйвера при монтировании
К сожалению как вы уже знаете, WinCDemu только работает с DVD образами.
Может, чуть позже выложу.
Буду очень рад :D
Ответить