Быстрое добавление типов файлов в Ассоциации ТС
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Секреты и советы

#1: Быстрое добавление типов файлов в Ассоциации ТС Author: Andrey_ALocation: Сочи PostPosted: Tue Mar 23, 2010 12:45
    —
Кто занимался Ассоциациями знает... Для того, чтобы добавить тип (расширение) нужно сделать ряд нажатий мышью (диалог Ассоциаций...), далее прописать сам тип... короче на это уходит время и если кто-то этим захочет заняться вплотную, тот наверное хотел бы это сделать побыстрее, а для тех кто редко, но всё же добавляет типы в ассоциации, тем более не хотелось бы тратить своё драгоценное время на ряд этих мелочей
На мысль об автоматизации процесса натолкнула тема
http://forum.wincmd.ru/viewtopic.php?t=13058&start=0&postdays=0&postorder=asc&highlight=

Для этого надо:
1. Скрипт из верхнего поста Замена текста в файле
2. Настроить 5-10 основных Фильтров в Ассоциациях
3. Сделать выпадающее меню на панели с соответствующими параметрами

1 С позваления Batya я размещу скрипт и здесь, т.к. в той теме выложено несколько скриптов (для незапутанности)
Code:
'=============================================
' Замена текста в файле
'
' Параметры:
' {файл} {текст для поиска} {текст для замены}
'=============================================
Option Explicit
Dim FSO, F, Str1, Str2, Text
Set FSO = CreateObject("Scripting.FileSystemObject")
With WScript
  F    = .Arguments(0)
  Str1 = .Arguments(1)
  Str2 = .Arguments(2)
End With
F = FSO.GetAbsolutePathName(CreateObject("WScript.Shell").ExpandEnvironmentStrings(F))

Text = FSO.OpenTextFile(F, 1).ReadAll
Text = Replace(Text, Str1, Str2, 1, -1, 1)
FSO.OpenTextFile(F, 2).Write Text

Set FSO = Nothing
WScript.Quit 0

У меня скрипт сохранён с названием ReplaceText.vbs

2. Настроим 10-ть популярных ассоциаций типов. К примеру:

1.Текстовые
2.Изображения
3.Видео
4.Музыка
...
т.е. нам важно какими программами будут открываться эти типы и какой значок будет отображаться, вот пример начальной настройки:
Code:
[Associations]
Filter1=; 1 |
Filter1_open="""%COMMANDER_PATH%\Plugins\exe\AkelPad\AkelPad.exe" "%1"""
Filter1.icon=%COMMANDER_PATH%\Wcmicons.dll,62
Filter2=; 2 |
Filter2_open=""%COMMANDER_PATH%\Plugins\wlx\Imagine\Imagine.exe" "%1""
Filter2.icon=%COMMANDER_PATH%\Wcmicons.dll,26
Filter3=; 3 |
Filter3_open=""%COMMANDER_PATH%\Programs\VideoLAN\App\VLC\vlc.exe" "%1""
Filter3.icon=%COMMANDER_PATH%\Wcmicons.dll,74

По аналогии можно сколько хошь

3. Настроим кнопки:
Первый вид копок - Добавление расширение в Ассоциации
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Files\Scripts\ReplaceText.vbs
"%%COMMANDER_PATH%%\WinAssociations.ini" "Filter1=" "Filter1=*.%E;"
%COMMANDER_PATH%\Wcmicons.dll,2060
Добавл. расш. под курс. в Ассоциации в Filter1 (Тестовый)

0
-1

По аналогии создаются остальные
Второй вид копок - Добавление полного имени...параметр
Code:
"%%COMMANDER_PATH%%\WinAssociations.ini" "Filter1=" "Filter1=%O.%E;"

Третий вид копок - кроме этого расширения...параметр
Code:
"%%COMMANDER_PATH%%\WinAssociations.ini" "1 | " "1 | *.%E;"

Четвёртый вид копок - Копока удаления расширения...параметр
Code:
"%%COMMANDER_PATH%%\WinAssociations.ini" "*.%E;" ""

Четвёртый вид копок - Копока удаления полного имени...параметр
Code:
"%%COMMANDER_PATH%%\WinAssociations.ini" "%O.%E;" ""

Потратив несколько минут, собрав всё это в выпадающее меню, каждый получит своё, у меня к примеру так:

#2:  Author: Andrey_ALocation: Сочи PostPosted: Tue Mar 23, 2010 14:22
    —
Забыл дописать:
1. Необходимо вставить свои пути (к примеру у меня написано "%%COMMANDER_PATH%%\WinAssociations.ini", потому что секция вынесена из основного ini файла, у вас будет наверное "%%COMMANDER_PATH%%\WinCmd.ini")
2. Единственный нюанс при запуске кнопки (к примеру добавления расширения) в том, что сразу на ассоциированном типе файла значок не отображается. Нужно
- либо перезапустить Тотал,
- либо вызывать окно Ассоциаций и нажимать Enter
- либо использовать скрипт
Code:
'Вызывает окно Ассоциаций и нажимает Enter
'Необходимо для того, чтобы проявились назначенные значки
Dim TCS
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_InternalAssociate"
Pause = 300
TCS.SendKeystroke "{Enter}"
Set TCS = Nothing

#3:  Author: Andrey_ALocation: Сочи PostPosted: Tue Mar 23, 2010 19:23
    —
Вспомнилось ещё
Строка FilterN имеет ограничение примерно 1024 знака, поэтому если кто задумает делать много типов в одной строке контролируйте эту ситуацию... При достижениии предела, в начало строки типы будут вставляться, а концовки обрезаться.

#4:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Tue Mar 23, 2010 19:39
    —
Три поста от одного пользователя подряд - по-моему, рекорд. Рискую показаться занудой, но такие темы вряд ли имеет смысл обсуждать на форуме. Напиши статью и положи в ТСКВ, а здесь лишь дай на нее ссылку. Дискутировать здесь не о чем. Те, кто заинтересуется, воспользуются статьей как учебником. Если ты ждешь восхищения, то прими его от меня, хотя это можно было сделать и после коротенького поста со ссылкой.
Удачи тебе в твоем нелегком ремесле. "Безумству храбрых поем мы славу" ((С) Горький)

#5:  Author: FlasherLocation: Москва PostPosted: Tue Mar 23, 2010 20:23
    —
Ну вот, зачем ты человеку всю мазу обломал?) Не рекорд это пока: см. Very Happy
А вот написание красивой статьи на TCKB поддерживаю. Вполне себе такой нормальный рецепт приготовления связки ассоциаций.

#6:  Author: Tol!kLocation: Арзамас PostPosted: Wed Mar 24, 2010 03:19
    —
[offtop]
Flasher wrote:
Не рекорд это пока
Mr. Green
Рекордсмен мира смотрит на вас как на... Ну вы поняли.
[/offtop]

#7:  Author: FlasherLocation: Москва PostPosted: Wed Mar 24, 2010 03:41
    —
[off]
Tol!k wrote:
смотрит на вас как на... Ну вы поняли.
Это точно. Я там 16 штук подряд насчитал. Ну с таким мегаплагином и не грех.. Куда нам.. Просто я не стал лазить по форуму, вспомнил свои три, этого было вполне достаточно для указания на несущественность предположения Вахмурки. Даа.. Пусть останется в архиве непоколебимых достижений форума. Хотя смею предположить, такое кол-во постов подряд вызвано скорей либо малой востребованностью, либо плохой осведомлённостью в предмете (в данном случае шифрования). Уж больно тема узкоспециализирована. Там автор сам без всех лучше знает, что, как и почему..
[/off]

#8:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Mar 24, 2010 10:22
    —
Quote:
такое кол-во постов подряд вызвано скорей либо малой востребованностью, либо плохой осведомлённостью в предмете
Золотые слова. Причем мне кажется, что в данной теме осведомлены-то как раз все прекрасно...

2Andrey_A
В свете дискуссии еще раз призываю подумать над статьей.

#9:  Author: Andrey_ALocation: Сочи PostPosted: Wed Mar 24, 2010 12:42
    —
Не стремился быть рекордсменом, даже не знал об этом (если бы знал, то может быть). Просто когда писал... в конце сбили всякие дела, а последний 3-й пост писал вообще в машине на ходу.
По поводу статьи, у меня нет опыта в написании, если кто захочет написать на эту тему..., то я лишь могу помочь какими-то советами, если что-то обнаружится при обследовании Ассоциаций

#10:  Author: FlasherLocation: Москва PostPosted: Wed Mar 24, 2010 13:15
    —
Andrey_A wrote:
если что-то обнаружится при обследовании Ассоциаций
При исследовании темы ассоциаций уже обнаружилось и реализовалось тем же Tol!k. Очень важное дополнение IMHO.

#11:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Mar 24, 2010 13:19
    —
Щелкаешь на ссылке "ТСКВ" вверху страницы, изучаешь формат Вики, причесываешь, выкладываешь. Не забудь посоветоваться с "литературным редактором", а то там и ошибок и опечаток хренова гора.
D1P тебе в помощь Wink



Total Commander -> Секреты и советы


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group