Работа с файлами-образами и виртуальными дисками из ТС
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3 ... 17, 18, 19  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Работа с файлами-образами и виртуальными дисками из ТС Author: Iori PostPosted: Tue Feb 09, 2016 03:27
    —
Imdisk Toolkit нахидится сдесь:
http://reboot.pro/files/file/284-imdisk-toolkit/

Пытаюсь создать две кнопки в командере.
Одна для mount образов и инсталляции драйвера.
Вторая для unmount образов и деинсталляции драйвера.

Инсталляция драйвера происходит через install.cmd
Деинсталляция драйвера происходит через uninstall_imdisk.cmd

Но как сделать что-бы кнопка установила драйвер, а затем монтировала имедж под курсором, я пока не осилил.

Может такая тема уже пробегала?

#2:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 04:28
    —
Iori
Зачем перед каждым монтированием пытаться установить драйвер? Это нужно делать единожды при запуске ТС. См. обсуждение.
Я, например, монтирую скриптом типа 1, 2 или кнопкой
Сomm: vd_filedisk.exe
Par's: /mount 2 %V /cd /ro X:

#3:  Author: Skif_off PostPosted: Tue Feb 09, 2016 05:14
    —
Iori
Я извиняюсь, а зачем ImDisk Toolkit (это просто GUI, которому ещё и необходим .NET Framework), если по сути вы пользуетесь голым ImDisk и этого вполне достаточно?

В кнопке с install.cmd можно дописать параметры "%P%N" (без кавычек) - файл под курсором, в install.cmd дописать команду монтирование переданного файла, используя "%1".

#4:  Author: Iori PostPosted: Tue Feb 09, 2016 05:17
    —
Flasher

Quote:
Зачем перед каждым монтированием пытаться установить драйвер?


Удобно когда работаешь на чужом компютере и надо монтировать диск.
Деинсталлация, что-бы не оставлять следы на чужой системе.

Quote:
Это нужно делать единожды при запуске ТС

Например через этот плагин:
http://www.ghisler.ch/board/viewtopic.php?t=32427

Но, после закрытия ТС, драйвер же не деинсталлируется из системы.

Можно в Сomm строке запустить два приложения?
Comm: file.cmd & imdisk.exe
Par's: -a -f C:\my_disk.ima -m R: -b 32256

#5:  Author: Skif_off PostPosted: Tue Feb 09, 2016 05:22
    —
Iori wrote:
Но, после закрытия ТС, драйвер же не деинсталлируется из системы.

Указанный вами плагин может запустить любую команду и при закрытии TC.

#6:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 05:27
    —
Iori wrote:
Деинсталлация, что-бы не оставлять следы на чужой системе.
Но, после закрытия ТС, драйвер же не деинсталлируется из системы.
Продолжение обсуждения. Wink
Iori wrote:
Например через этот плагин:
Есть своя тема по ссылке выше.

Iori wrote:
Можно в Сomm строке запустить два приложения?
Можно, конечно. Через %Comspec% /c спереди, а объединять через && для ожидания успешного выполнения первой команды.

#7:  Author: Iori PostPosted: Tue Feb 09, 2016 05:33
    —
Skif_off

Quote:
Указанный вами плагин может запустить любую команду и при закрытии TC.


Это я не знал. Но всё ровно через батник удобнее будет. Так как не всегда нужно что-бы драйвер устанавливался.

Голый ImDisk пойдёт.

Quote:
в install.cmd дописать команду монтирование переданного файла, используя "%1".


Я в батниках не силён, попробую и отпишусь.

#8:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 05:35
    —
Iori
Может, сперва стоило батник выложить? Полагаю, можно и без него обойтись.

Iori wrote:
Но всё ровно через батник удобнее будет. Так как не всегда нужно что-бы драйвер устанавливался.
А как в батнике проверяется, установлен ли драйвер? Через verifier?
Мне лично это нужно, чтобы работали и утилиты и плагин в любое время.

#9:  Author: Iori PostPosted: Tue Feb 09, 2016 05:50
    —
Flasher

Quote:
Можно, конечно. Через %Comspec% /c спереди, а объединять через && для ожидания успешного выполнения первой команды.


По идеи кнопка будет такая:
Code:

Comm: %Comspec% /c "%commander_path%\utilities\imdisk\install.cmd" &&  "%commander_path%\utilities\imdisk\imdisk.exe"
Parammeters: -a -f "%P%N" -m R:


Вот сам батник.

 Hidden text


Posted after 11 minutes:

Ладно передумал, будем делать по другому.

Без Инсталляция и Деинсталляция драйвера, а то я смотировать диск не могу через кнопку. Embarassed

Posted after 3 minutes:

Quote:
А как в батнике проверяется, установлен ли драйвер? Через verifier?


Через команду if exist. Но по мойму легче просто кода надо запустить install.cmd a потом uninstall.cmd.
Но кнопки для mount / unmount по любому нужно делать.

#10:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 06:06
    —
Iori
Для начала в кнопке пишем %V вместо "%P%N". Батник кучу дел делает, а можно было бы с указанной мной утилитой всё упростить в разы.

Всё равно пока не нахожу смысла в uninstall_imdisk.cmd. А вдруг забудешь выполнить? Я за автоматику.

Iori wrote:
Без Инсталляция и Деинсталляция драйвера.
Это как? Surprised
Iori wrote:
Через команду if exist.
Мдэ. Exe-шник копировать в system32 - это кто придумал? Smile

#11:  Author: Iori PostPosted: Tue Feb 09, 2016 06:35
    —
Flasher

Спасибо за %V%

Пока кнопки такие:

Code:

Mount:
TOTALCMD#BAR#DATA
"%commander_path%\Utilities\ImDisk\imdisk.exe"
-a -f "%V" -m R:

Unmount:
TOTALCMD#BAR#DATA
"%commander_path%\Utilities\ImDisk\imdisk.exe"
-D -m r:


Quote:
Это как?


Тогда получается будет 4 кнопки а не две.

Например: у меня в системе imdisk установлен. За чем мне его инсталлировать или деинсталлировать каждый раз.
Инсталляцию можно решить проверкой на наличие imdisk.sys в System32\Drivers, a что делать с деинсталляцией?

PS:

Вообще можно 3 кнопки.
1. Кнопка проверяет на наличие imdisk.sysм и затем монтирует имедж.
2. Кнопка демонтирует имедж
3. Кнопка демонтирует имедж и уберает imdisk из системы.

На компютере где imdisk не установлен, конечно кнопки работать не будут, по этому и надо install.cmd и uninstall.cmd

#12:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 06:56
    —
Iori wrote:
Спасибо за %V
-a -f "%V" -m R:
Разве я указал кавычки? Они и так появятся при необходимости, а сдвоенность наоборот в этой ситуации всё поломает.
Iori wrote:
Например: у меня в системе imdisk установлен.
А, без портабельности. Ну, хозяин - барин.
Iori wrote:
Инсталляцию можно решить проверкой на наличие imdisk.sys в System32\Drivers, a что делать с деинсталляцией?
Можно смотреть наличие в списке по driverquery. Или, обратной проверкой if not exist, если всё это не накладно.
Iori wrote:
по этому и надо install.cmd и uninstall.cmd
Я понимаю, но этот вариант, как я уже писал, мне не нравится. Но дело опять же хозяйское.

#13:  Author: Iori PostPosted: Tue Feb 09, 2016 07:06
    —
Flasher

Сделал так:

Кнопка:

Code:
TOTALCMD#BAR#DATA
"%commander_path%\Utilities\ImDisk\IMDISK_install.cmd"
%V


 Hidden text


Лучше сделать через comspec /c, потому что в самой кнопке можно будет менять параметры.

PS: imdisk.inf важен потому что он устанавливает imdisk правельной битности.

#14:  Author: FlasherLocation: Москва PostPosted: Tue Feb 09, 2016 07:28
    —
Iori
В батнике битность можно проверять хотя бы по set PROCESSOR_ARCHITEW6432|If %ERRORLEVEL% == 0 или так, например. В vbs можно ещё точнее. Если поставить autorun, то можно прямо смотреть битность по %AUTORUN_OSARCH%.
Поэтому от inf можно и отказаться в пользу предложенного, не трогая путь.

VBS что ль накидать.

#15:  Author: Iori PostPosted: Tue Feb 09, 2016 08:21
    —
Flasher

Quote:
Поэтому от inf можно и отказаться в пользу предложенного, не трогая путь.


Code:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\PLUGINS\Tools\REGDRV\regdrv.exe
/i /c PLUGINS\wfx\VirtualDisk\VD_Driver\amd64\vd_filedisk.sys
%COMMANDER_PATH%\PLUGINS\Tools\REGDRV\regdrv.exe
regdrv
%COMMANDER_PATH%\

-1


А если система 32бит, то надо вторую кнопку для 32 битной vd_filedisk.sys? А как знать какая система без проверки?
И как теперь ещё монтировать файл без дополнительного скрипта?

Quote:
Поэтому от inf можно и отказаться


Не знаю чем inf не понравился. Но даже если от него отказатся, то можно просто тем же install.cmd воспользоваться.

Вот %comspec% было самое то, но у меня не получилось.

[/quote]



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3 ... 17, 18, 19  Next  :| |:
Page 1 of 19

Powered by phpBB © 2001, 2005 phpBB Group