Кнопка вкл\выкл "внутренние ассоциации"

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

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

HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Кнопка вкл\выкл "внутренние ассоциации"

Сообщение HA3APET »

Хотелось бы кнопочку вкл\откл внутренние ассоциации TC.
Есть идеи реализовать это с помощью TotalSet или NirCmd.

Кто то, что то подобное творил? Или может есть способы проще?
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

В Тотале вообще много чего нельзя включать/отключать динамически, без перезапуска.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

вкл\откл внутренние ассоциации TC естественно с перезапуском, больше тут никак не получится. Мне интересно, кто нибудь уже делал подобное?
С помощью TotalSet можно подцеплять две настройки - 1) где все ассоциации прописаны 2) где не прописаны.
А с помощью NirCmd можно править wincmd.ini... прописывая и стирая в нём настройки внутр ассоциаций.
Последний раз редактировалось HA3APET Пт май 07, 2010 13:49, всего редактировалось 1 раз.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

После закрытия ТК поиском и заменой в файле wincmd.ini замени [Associations] на [-Associations] для отключения ассоциаций, и наоборот - для включения. Но если после отключения будут добавлены новые, потом при включении секций станет две.

Кстати, думаю, возможность отключения внутренних ассоциаций можно запросить у Гислера - мне кажется, что эта простая функция в некоторых случаях будет полезна (как вариант, добавить еще флаг в параметр RestrictInterface).
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

MVV
Это понятно.. а как автоматизировать процесс.. повесив его на кнопку?

Пока Гислер не сделал такую простую функцию, приходится извращаться. Но возможность была бы оч полезна.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Re: Кнопка вкл\выкл "внутренние ассоциации"

Сообщение ask-rus »

HA3APET писал(а):Хотелось бы кнопочку вкл\откл внутренние ассоциации TC.
Ранее мне этого тоже хотелось, но с [Extensions] (Alt+F3) надобность сама по себе отпала.
MVV писал(а):Кстати, думаю, возможность отключения внутренних ассоциаций можно запросить у Гислера - мне кажется, что эта простая функция в некоторых случаях будет полезна (как вариант, добавить еще флаг в параметр RestrictInterface).
Я бы лучше запросил возможность заносить два и более расширений [Extensions] в один ряд для одной программы.
Было:

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

[Extensions]
TXT=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.txt
LOG=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.log
INI=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.ini
INF=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.inf
Стало БЫ:

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

[Extensions]
TXT,LOG,INI,INF=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe
HA3APET писал(а):приходится извращаться
Вот-вот.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Я бы лучше запросил возможность заносить два и более расширений [Extensions] в один ряд для одной программы
Я бы запросил добавление нескольких расширений (выделенных файлов) в ассоциации - по одному добавлять...
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Andrey_A писал(а):Я бы запросил добавление нескольких расширений (выделенных файлов) в ассоциации - по одному добавлять...
Чего-чего?

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

[Associations]
Filter1=*.djv;*.djvu
Filter1_open=*
Filter1_WinDjView=D:\Programs\WinDjView\WinDjView.exe "%1"
Filter1_System=**
Последний раз редактировалось Rodny Пт май 07, 2010 17:34, всего редактировалось 1 раз.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

2Rodny
Ты уверен, что хотел именно это написать:
Sustem
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Rodny - это я знаю. Я имел ввиду другое. Когда вызываешь
команду cm_InternalAssociate -> Добавить - то высвечивается расширение файла под курсором. Хотелось бы то же самое для нескольких расширений выделенных файлов, т.е. к примеру я выделяю три файла
Wcmicons.inc
TcIgnore.txt
WinCmd.ini
нажимаю cm_InternalAssociate -> Добавить и появляется сразу три расширения

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

*.inс;*.txt;*.ini
А по-поводу автоматизации переименования [Associations] в [-Associations] и обратно наверное нужен скрипт - я пытался скриптом "поиска и замены" - получается, но только две кнопки, а надо одну...
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Ура! Получилось! Случайно вспомнил про скрипт от Volniy который "Разворачивает окно Тотала на весь экран, при повторном нажатии возвращает в обычное состояние" немного добавил и получилось

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

' Переименование секции [Associations] в [-Associations] и обратно
' Кнопка вкл\выкл внутренних ассоциаций
Option Explicit 
Dim FSO, F, Str1, Str2, Text, TCS
Set FSO = CreateObject("Scripting.FileSystemObject") 
Set TCS = CreateObject("TCScript.Helper") 
With WScript 
  F    = "%COMMANDER_PATH%\WinCmd.ini"
  Str1 = "[Associations]"
  Str2 = "[-Associations]"
End With 

F = FSO.GetAbsolutePathName(CreateObject("WScript.Shell").ExpandEnvironmentStrings(F)) 

If bCheck Then 
Text = FSO.OpenTextFile(F, 1).ReadAll 
Text = Replace(Text, Str2, Str1, 1, -1, 1) 
FSO.OpenTextFile(F, 2).Write Text 
Else 
Text = FSO.OpenTextFile(F, 1).ReadAll 
Text = Replace(Text, Str1, Str2, 1, -1, 1) 
FSO.OpenTextFile(F, 2).Write Text 
End If 

Set TCS=Nothing 
WScript.Quit 

Function bCheck() 
   Dim sFile 
   sFile=WScript.ScriptFullName 
   bCheck=TCS.INIRead(sFile, "Ass", "Line", 0) 
   TCS.INIWrite sFile, "Ass", "Line", Not bCheck 
End Function 

[Ass] 
Line =0
Если что подправите

Добавляю ещё
1. Назовите этот файл YesNoAssociations.vbs
2. Создайте .bat файл

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

start YesNoAssociations.vbs
start reloadtc.exe
reloadtc.exe - это утилита, которая перезагружает тотал (где я её взял - не знаю, если кто знает ссылку выложите для других). Или можно вместо неё использовать другую подобную, для перезагрузки.
3. Положите все эти три файла в одну папку и вперёд!
Последний раз редактировалось Andrey_A Пт май 07, 2010 18:01, всего редактировалось 3 раза.
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Andrey_A
Выделенные — это обязательное условие? У тебя же наверняка уже куча шаблонов поиска/фильтров напридумана. Можно ведь их там использовать.

Вахмурка
Бессонная ночь :)
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Выделенные — это обязательное условие?
В принципе не обязательно, дело в том, что в ассоциациях я шаблонами не пользуюсь, у меня это дело автоматизировано и так проще удалять расширение, добавлять, тема
http://forum.wincmd.ru/viewtopic.php?t=13112
Но иногда хочется добавить группу файлов, приходится делать вручную...
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Andrey_A
Спасибо, скрипт работает. И в целом скрипт интересный, ко многому его можно применить.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Andrey_A
С обновлением иконок без перезапуска ничего сделать нельзя?
Ответить