View previous topic :: View next topic |
Author |
Message |
aLLigator
Joined: 01 Dec 2011 Posts: 166 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Tue Jun 27, 2023 14:45 Post subject: |
|
|
Вроде получилось решить свою хотелку через скрипт, но поскольку я в них не сильно - имеются некоторые "излишества"
Code: |
Sub OpenWith
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(fileToOpen) Then
driveName = .GetDriveName(fileToOpen)
Select Case driveName
Case "H:"
runStr = """C:\Program Files\MPC-HC\mpc-hc64.exe""" & " """ & fileToOpen & """"
WScript.CreateObject("WScript.Shell").Run runStr, 1, False
Case "h:"
runStr = """C:\Program Files\MPC-HC\mpc-hc64.exe""" & " """ & fileToOpen & """"
WScript.CreateObject("WScript.Shell").Run runStr, 1, False
Case Else
runStr = "mpc-be64.exe" & " """ & fileToOpen & """"
WScript.CreateObject("WScript.Shell").Run runStr, 1, False
End Select
Else
WScript.Echo "Can't find [" & fileToOpen & "]."
WScript.Quit 2
End If
End With
End Sub
If WScript.Arguments.Count = 1 Then
fileToOpen = WScript.Arguments.Item(0)
call OpenWith()
Else
WScript.Echo "Usage:" & vbNewLine & WScript.ScriptName & " <fileName>"
WScript.Quit 1
End If
WScript.Quit 0
|
Оказалось что под разными версиями ОС букву диска воспринимает либо с большой (win11) либо с маленькой (win10).
Так же почему-то MPC-BE работает без указания полного пути, а вот MPC-HC только с полным да еще и с определенным количеством кавычек.
Буду благодарен если кто грамотный посмотрит и поправит скрипт, что бы стало совсем "комильфо".
P.S. Запуск скрипта, если что, у меня настроен через внутренние ассоциации
Code: |
Filter38=*.avi
Filter38_open=%APPDATA%\GHISLER\MPC.vbs "%1"
|
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Fri Jun 30, 2023 16:22 Post subject: |
|
|
Хотя оно вроде и так работает, но варианты с "H:" в Select смотрятся странно, можно просто опустить регистр, и повтор тоже, т.е. что-то типа
Code: | driveName = .GetDriveName(fileToOpen)
If LCase(driveName) = "h:" Then
runStr = """C:\Program Files\MPC-HC\mpc-hc64.exe""" & " """ & fileToOpen & """"
Else
runStr = "mpc-be64.exe" & " """ & fileToOpen & """"
End If
WScript.CreateObject("WScript.Shell").Run runStr, 1, False |
(Я бы использовал полный путь и с MPC-BE.) |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Tue Jan 30, 2024 19:39 Post subject: |
|
|
Во внутренних ассоциациях есть возможность указать в действиях команду типа **ext, которая будет вызывать архивный плагин, связанный с расширением ext. Я часто это использую для входа в инсталляторы, например, **TotalObserver, **MultiArc и т.д., т.е. когда нужен именно такой вход конкретным плагином. А можно ли назначить такой функционал на кнопку или горячую клавишу? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 04, 2024 08:41 Post subject: |
|
|
Orion9
Какой именно "такой функционал" запрашивается? Переключалка действий для одного и того же расширения или что-то другое? Кстати, имейте в виду, что внутренние ассоциации работают в TC только строго определённым образом: с кнопки, например, запустить их невозможно (см. справочник). А вот сделать несколько таких ассоциаций для одного расширения и выбирать нужное действие через меню возможно вполне. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Sun Feb 04, 2024 10:35 Post subject: |
|
|
Orion9
Что то мудрёно ты спросил. Просто добавь кнопку с внутренней командой 'войти в текущий каталог/архив'. Тогда тотал зайдёт в любой поддерживаемый плагинами архив или инсталлятор exe под курсором как в каталог без нажатия Ctrl+PgDn, или просто войдёт в каталог под курсором. Или что ещё я не понял. |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Mon Feb 05, 2024 00:39 Post subject: |
|
|
imig73
Согласен - фигово я написал Хотя имел в виду именно:
Quote: | Переключалка действий для одного и того же расширения или что-то другое? Кстати, имейте в виду, что внутренние ассоциации работают в TC только строго определённым образом: с кнопки, например, запустить их невозможно (см. справочник). А вот сделать несколько таких ассоциаций для одного расширения и выбирать нужное действие через меню возможно вполне. |
Вот это как раз и не понятно. Если есть возможность входа в архив/exe конкретным плагином, выбрав его в контекстном меню ассоциаций, то почему нельзя сделать то же самое из кнопки бара или вообще откуда угодно? В чем тут препятствие для разработчика?
Да и вообще, гораздо интереснее было бы подсвечивать/сообщать, каким плагином был осуществлен вход. Например, под вкладками в строке путей рядом с избранными каталогами/историей поиска - сразу стало бы нагдяднее. Впрочем, это уже вряд ли будет реализовано
А пока приходится через контекстное меню = что не удобно, но все же пригодно. Например, сделал опцию входа в инсталляторы InnoSetup, скопировав каталог MultiArc и установив полученную копию с единственной секцией в MultiArc.ini, чтобы можно было входить в некоторые специфичные установщики посредством InnoExtract:
Code: | [InnoExtract]
Archiver=%COMMANDER_PATH%\Plugins\arc\InnoSetup\innoextract.exe
Description=innoextract 1.9
Extension=exe
ID=49 6E 6E 6F
IDPos=<SeekID>
Format0=z+ n+
List="%PQA --list-sizes -s %AQ %O"
ExtractWithPath="%PQA -e -q %AQA -I %FQA"
Debug=0
BatchUnpack=1 |
моя секция [Associations]
Code: | Filter18=*.exe
Filter18_innoextract 1.9=**MultiArc
Filter18_PE32 Resourses*=**wcres
Filter18_Открыть с MultiArc=**arc
Filter18_Открыть с Total7zip=**7z
Filter18_Открыть с Instal Explorer=**InstExpl
Filter18_Открыть с Total Observer=**TotalObserver
|
P.S.
По поводу скрипта выше. Должно же все в батнике работать:
Code: |
if /i "%~d1" =="h:" (start "" "c:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe" %1) else (start "" "%COMMANDER_PATH%\Utilites\MPC-BE\mpc-be.exe" %1) |
|
|
Back to top |
|
|
Lnk
Joined: 13 May 2023 Posts: 68
|
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Wed Feb 07, 2024 01:09 Post subject: |
|
|
Lnk
Прога норм, не спорю, но все-таки она не может заменить быструю и удобную навигацию TC по CTRL+PgDown. Думаю, она больше подходит в качестве последнего аргумента, когда стандартные средства/плагины не дали нужного результата. При этом есть и другие недостатки:
- большой размер
- дублирующие функции
- медленная скорость работы
- необходимость полной распаковки
- нет обновлений
- не все распаковывает
Например:
https://lrepacks.net/repaki-multimedia-programm/452-goldwave-repack-amp-portable.html
В то время, как мой пример выше (с innoextract 1.9) с этим установщиком справляется. |
|
Back to top |
|
|
Lnk
Joined: 13 May 2023 Posts: 68
|
(Separately) Posted: Wed Feb 07, 2024 04:45 Post subject: |
|
|
Orion9
Ну я исхожу обычно из того что одно другому не мешает.
Отмечу на всякий - большой размер - это просто 2 версия, добавлено много расширений, есть вариант попроще https://www.legroom.net/software/uniextract , весит 5 мб. Он работает несколько иначе (у него к слову были и неофициальные обновления, но я особо этой темой не интересуюсь просто).
И любую или обе можно, по идее, тоже в тотал прикрутить отдельно, в дополнении к уже имеющимся, я потому написал.
\
Кстати обратите внимание на helper_binaries_info.txt. Можно самому обновлять что-то по идее, например innounp.exe лежит в проге 0.49, но можно прикрутить версию повыше(не берусь сказать конечно, насколько она разная по сравнению с innoextract 1.9). |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Wed Feb 07, 2024 12:22 Post subject: |
|
|
Quote: | не берусь сказать конечно, насколько она разная по сравнению с innoextract 1.9 |
Я тоже. В справке написано, что кроме стандартных innosetup-установщиков, innoextract может принимать модифицированные варианты:
Code: | In addition to standard Inno Setup installers, innoextract also supports some modified Inno
Setup variants including Martijn Laan's My Inno Setup Extensions 3.0.6.1 as well as GOG.com's
Inno Setup-based game installers.
|
Почему innoextract открывает репаки с сайта lrepacks.net - я тоже не в курсе. Но главное работает |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Wed Feb 07, 2024 13:56 Post subject: |
|
|
Orion9
Lnk
Настоятельно рекомендую как модератор продолжить общение (если оно предполагается) в режиме личных сообщений — у данной темы назначение другое, и оффтопа здесь стало уже многовато. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Thu Feb 08, 2024 00:26 Post subject: |
|
|
Может, кому пригодится... Проблема здесь. Новое решение:
autorun.cfg
Code: | SetEnv SPEK "%COMMANDER_PATH%\Utilites\Spek\Spek.exe"
SetEnv POT_PLAYER "%COMMANDER_PATH%\Utilites\PotPlayer\PotPlayerMini.exe"
SetEnv SPEK_ICON "%COMMANDER_PATH%\Icons\Spek\1.ico"
SetEnv VIDEO_PLAYER %POT_PLAYER%
Func SetPlayerEnv()
If %VIDEO_PLAYER% = %SPEK% Then
SetEnv VIDEO_PLAYER %POT_PLAYER%
SetEnv SPEK_ICON "%COMMANDER_PATH%\Icons\Spek\1.ico"
Else
SetEnv VIDEO_PLAYER %SPEK%
SetEnv SPEK_ICON "%COMMANDER_PATH%\Icons\Spek\2.ico"
EndIf
SendCommand 2945
EndFunc
SetMessageAction "SpekMessage" SetPlayerEnv
|
Code: | ---
Filter78=*.mp3
Filter78.icon=%COMMANDER_PATH%\Icons\PotPlayer.dll,60
Filter78_open=""%VIDEO_PLAYER%" "%1""
Filter79=*.mp4
Filter79.icon=%COMMANDER_PATH%\Icons\PotPlayer.dll,25
Filter79_open=""%VIDEO_PLAYER%" "%1""
---
|
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
/ef "msg(regmsg(SpekMessage), 0, 0)"
%SPEK_ICON%
Acoustic spectrum On/Off
-1
|
Вот теперь я доволен |
|
Back to top |
|
|
|
|
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
|