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  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Thu Jul 14, 2011 14:49    Post subject: Добавление выделенных файлов в список исключений Reply with quote

Не нашёл на форуме подобного вопроса, может не правильно искал, хз.
1) Вопрос, можно ли сделать кнопку, чтобы при её нажатии выделенные в любой из панелей файлы добавлялись в список исключений без путей (чтобы на всех компах работало)?
Долго гадал в какой раздел запостить тему, то ли в кнопки, то ли сюда.
Предполагаю, что это можно сделать только с помощь скриптов, поэтом разместил тему здесь.

2) Как сделать кнопку, включающую/отключающую список исключений? Я нашёл только как открыть сам диалог настройки исключений cm_IgnoreConfig, а вот как эмулировать установку галочки "Исключить (не показывать) следующие файлы и каталоги:"


Last edited by svshilo on Sat Jul 16, 2011 16:16; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Jul 14, 2011 15:24    Post subject: Reply with quote

1) сделать несложно (позже)
2) cm_SwitchIgnoreList
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Thu Jul 14, 2011 16:02    Post subject: Reply with quote

Flasher wrote:
2) cm_SwitchIgnoreList

Спасибо..
Блин, и всего то.
Смотрел там же, где и cm_IgnoreList, а это вообще вменю Вид. Уже и забыл, что в виде есть этот пункт. Тупанул, надо было фильтр общий по Ignore врубить.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Jul 14, 2011 21:02    Post subject: Reply with quote

svshilo
В общем-то, тут просто:
Code:
'  Добавление имён выделенных файлов/папок в список исключений TC
'  Параметры: %F "<путь к файлу-списку>"
'  Пример: %F "%%COMMANDER_PATH%%\tcignore.txt"
'===========================================
L = CreateObject("WScript.Shell").ExpandEnvironmentStrings(WScript.Arguments(1))
With CreateObject("Scripting.FileSystemObject")
  Set TempFile = .OpenTextFile(WScript.Arguments(0),1)
  Set List = .OpenTextFile(L,8,True)
  List.Write TempFile.ReadAll
  List.Close
End With
Без перезапуска TC фильтр не сработает. Нужен?
Хотя есть один способ без перезапуска, он мне не очень нравится, хоть и работает:
Quote:
' Добавление имён выделенных файлов в список исключений TC с активацией фильтра
' Параметры: %F "<путь к файлу-списку>"
' Пример: %F "%%COMMANDER_PATH%%\tcignore.txt"

'===========================================

Dim WSH
Set WSH = CreateObject("WScript.Shell")
L = WSH.ExpandEnvironmentStrings(WScript.Arguments(1))
With CreateObject("Scripting.FileSystemObject")
Set TempFile = .OpenTextFile(WScript.Arguments(0),1)
Set List = .OpenTextFile(L,8,True)
List.Write TempFile.ReadAll
List.Close
End With
WSH.Exec "
%COMMANDER_PATH%\Utils\TCMC\TCMC.exe CM480"
WScript.Sleep 20
WSH.SendKeys "{TAB 2} {BS}+{TAB} ~"
Set WSH = Nothing
WScript.Quit
Путь, выделенный красным, к утилите TCMC должен соответствовать скриптовому.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Fri Jul 15, 2011 02:42    Post subject: Reply with quote

Flasher wrote:

Спасибо огромное, первый код работает.
Правда у меня уже были в игноре строки и при первом добавлении файлов с помощью скрипта он склелил последнюю мою строку и первую его, но это ерунда.
Для теста сделал:
Do.smerti.krasiva.2.sezon.04.serija.iz.13.2010.avi - это была моя строка
Quote:
Do.smerti.krasiva.2.sezon.04.serija.iz.13.2010.aviPererabotka-Resiklo-DVDRip_2007_MVO.avi
IO.SYS
MSDOS.SYS
NTDETECT.COM
ntldr
pagefile.sys
MSOCache\

но все остальные, добавляемые с помощью скрипта, имена не склеиваются, всё нормально.
Перезагружать тотал не обязательно, достаточно нажать/отжать добавленную по вашему совету кн. cm_SwitchIgnoreList.

Второй код пока не проверял. Чем он плох? Тем, что требует дополнительной утилиты?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Jul 15, 2011 03:52    Post subject: Reply with quote

svshilo
Он плох тем, что там задействована имитация нажатия клавиш. Иногда это влечёт непредстказуемые действия, если работать в разных условиях. Утилита - не проблема, она для портабельности.
svshilo wrote:
достаточно нажать/отжать .. cm_SwitchIgnoreList
Действительно, что это я. Shocked Завтра поправлю второй скрипт. Там достаточно проверять по ключу IgnoreListFileEnabled, чтобы верно срабатывало.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Fri Jul 15, 2011 04:23    Post subject: Reply with quote

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

Первый скрипт меня очень даже устраивает, уже применяю, ещё раз спасибо. А можно в нём эмулировать откл/вкл cm_SwitchIgnoreList или чтобы он проверял значения этого ключа, и если отключен - включал?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Jul 15, 2011 04:54    Post subject: Reply with quote

svshilo wrote:
но каждый раз отключает сам игнор
Странно. А если в третьей строке снизу убрать последний пробел?: WSH.SendKeys "{TAB 2} {BS}+{TAB}~"
svshilo wrote:
А можно в нём эмулировать откл/вкл cm_SwitchIgnoreList или чтобы он проверял значения этого ключа, и если отключен - включал?
Я сейчас попытался это сделать с помощью TCFS2 -
Code:
WSH.Exec"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe ""/ef  tcm(2922) tcm(2922), test(tcini(Configuration,IgnoreListFileEnabled,#)=1) | tcm(2922)"""
, но почему-то это не срабатывает, завтра ещё поковыряюсь.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Fri Jul 15, 2011 07:59    Post subject: Reply with quote

пробел удалил, всё работает, только каспер вякает, подозревает рутшел, но это не страшно, добавил скрипт в исключения
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Fri Jul 15, 2011 12:47    Post subject: Reply with quote

притащил домой TC Multiple Commands 0.12, здесь Смарт секьюрити стоит - сразу валит этоту прогу на корню и всё, говорит

addAdd_TC.Multiple.Commands_0.12.zip вероятно модифицированный Win32/Agent.IYZQUN троянская программа

Эта прога точно не с вирусом? А то и нод на неё гавкает, и каспер.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Jul 15, 2011 13:00    Post subject: Reply with quote

svshilo
Советую проще относиться к антивирусам, они много на что ругаются, сигнатуры такие, поэтому дома я ими не пользуюсь. Wink Вот здесь на утилиту много детектов, а Каспер таки ничего не нашёл. Данный вопрос обсуждать тут больше не советую. Этой утилитой пользуются многие толковые граждане (и не только с этого форума).
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Fri Jul 15, 2011 14:58    Post subject: Reply with quote

svshilo
Ругань некоторых антивирусов на TCMC.exe давно известна и на разных форумах рассматривалась многократно. Это ложные срабатывания, утилита абсолютно безопасна. Если интересны подробности, советую, например, почитать здесь (первый мой пост).
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Wed Apr 24, 2013 10:14; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sat Jul 16, 2011 00:02    Post subject: Reply with quote

svshilo
Окончательный вариант такой:
Code:
'  Добавление имён выделенных файлов в список исключений TC с активацией фильтра
'  Параметры: %F "<путь к файлу-списку>"
'  Пример: %F "%%COMMANDER_PATH%%\tcignore.txt"
'===========================================================
Dim WSH
Set WSH = CreateObject("WScript.Shell")
L = WSH.ExpandEnvironmentStrings(WScript.Arguments(1))
With CreateObject("Scripting.FileSystemObject")
  Set TempFile = .OpenTextFile(WScript.Arguments(0),1)
  Set List = .OpenTextFile(L,8,True)
  List.Write TempFile.ReadAll
  List.Close
End With 
WSH.Exec"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef ""tcm(2922) tcm(2922), test(tcini(Configuration, IgnoreListFileEnabled, #)) | tcm(2922)"""
Set WSH = Nothing
WScript.Quit
В данном случае надо использовать TCFS2 с соответствующим в скрипте путём.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Sat Jul 16, 2011 03:07    Post subject: Reply with quote

Flasher
Спасибо, всё работает, тему можно закрыть.
Чем этот вариант лучше предыдущего, тем, что здесь не используется эмуляция нажатий клавиш?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sat Jul 16, 2011 03:47    Post subject: Reply with quote

svshilo
Помимо указанного нет мелькания окна, да и скорость срабатывания побыстрее. А имитация подходила только для одного режима (вкл./выкл.), поэтому я и предложил убрать пробел.
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  Next
Page 1 of 3

 
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