Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Работа с файлами-образами и виртуальными дисками из ТС
Goto page 1, 2, 3 ... 13, 14, 15  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 03:27    Post subject: Работа с файлами-образами и виртуальными дисками из ТС Reply with quote

Imdisk Toolkit нахидится сдесь:
http://reboot.pro/files/file/284-imdisk-toolkit/

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

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

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

Может такая тема уже пробегала?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 04:28    Post subject: Reply with quote

Iori
Зачем перед каждым монтированием пытаться установить драйвер? Это нужно делать единожды при запуске ТС. См. обсуждение.
Я, например, монтирую скриптом типа 1, 2 или кнопкой
Сomm: vd_filedisk.exe
Par's: /mount 2 %V /cd /ro X:
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1107

Post (Separately) Posted: Tue Feb 09, 2016 05:14    Post subject: Reply with quote

Iori
Я извиняюсь, а зачем ImDisk Toolkit (это просто GUI, которому ещё и необходим .NET Framework), если по сути вы пользуетесь голым ImDisk и этого вполне достаточно?

В кнопке с install.cmd можно дописать параметры "%P%N" (без кавычек) - файл под курсором, в install.cmd дописать команду монтирование переданного файла, используя "%1".
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 05:17    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1107

Post (Separately) Posted: Tue Feb 09, 2016 05:22    Post subject: Reply with quote

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

Указанный вами плагин может запустить любую команду и при закрытии TC.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 05:27    Post subject: Reply with quote

Iori wrote:
Деинсталлация, что-бы не оставлять следы на чужой системе.
Но, после закрытия ТС, драйвер же не деинсталлируется из системы.
Продолжение обсуждения. Wink
Iori wrote:
Например через этот плагин:
Есть своя тема по ссылке выше.

Iori wrote:
Можно в Сomm строке запустить два приложения?
Можно, конечно. Через %Comspec% /c спереди, а объединять через && для ожидания успешного выполнения первой команды.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 05:33    Post subject: Reply with quote

Skif_off

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


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

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

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


Я в батниках не силён, попробую и отпишусь.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 05:35    Post subject: Reply with quote

Iori
Может, сперва стоило батник выложить? Полагаю, можно и без него обойтись.

Iori wrote:
Но всё ровно через батник удобнее будет. Так как не всегда нужно что-бы драйвер устанавливался.
А как в батнике проверяется, установлен ли драйвер? Через verifier?
Мне лично это нужно, чтобы работали и утилиты и плагин в любое время.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 05:50    Post subject: Reply with quote

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 по любому нужно делать.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 06:06    Post subject: Reply with quote

Iori
Для начала в кнопке пишем %V вместо "%P%N". Батник кучу дел делает, а можно было бы с указанной мной утилитой всё упростить в разы.

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

Iori wrote:
Без Инсталляция и Деинсталляция драйвера.
Это как? Surprised
Iori wrote:
Через команду if exist.
Мдэ. Exe-шник копировать в system32 - это кто придумал? Smile
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 06:35    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 06:56    Post subject: Reply with quote

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
Я понимаю, но этот вариант, как я уже писал, мне не нравится. Но дело опять же хозяйское.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 07:06    Post subject: Reply with quote

Flasher

Сделал так:

Кнопка:

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


 Hidden text


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

PS: imdisk.inf важен потому что он устанавливает imdisk правельной битности.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12957
Location: Москва

Post (Separately) Posted: Tue Feb 09, 2016 07:28    Post subject: Reply with quote

Iori
В батнике битность можно проверять хотя бы по set PROCESSOR_ARCHITEW6432|If %ERRORLEVEL% == 0 или так, например. В vbs можно ещё точнее. Если поставить autorun, то можно прямо смотреть битность по %AUTORUN_OSARCH%.
Поэтому от inf можно и отказаться в пользу предложенного, не трогая путь.

VBS что ль накидать.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 514

Post (Separately) Posted: Tue Feb 09, 2016 08:21    Post subject: Reply with quote

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]
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3 ... 13, 14, 15  Next
Page 1 of 15

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group