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  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Wed Nov 03, 2010 20:28    Post subject: Произвольная фильтрация Reply with quote

Здравствуйте! Юзаю тотал 7.5. У меня вопрос.
В тотале есть такая штука как "Показать только выделенные файлы и папки". Проблема в том, что эта выборка файлов и папок не сохраняется, и при смене вкладок или если убрать фокус с тотала, а потом опять переключиться на тотал, вся выборка сбрасывается. Приходится опять искать нужное на панели. Такая же история с быстрым поиском. КАК ЭТОГО ИЗБЕЖАТЬ?
Когда это действительно необходимо, тогда я делаю так: запускаю пустой поиск с опцией "Глубина вложенности"="Только текущий", потом файлы на панель,потом выделяю нужное и жму "Показать только выделенное". В этом случае все типтоп, выборка сохраняется при переключении между вкладками. Но это не выход.
А фильтрацией невозможно выделить именно то, что нужно.
Хелп ми плиз!
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Wed Nov 03, 2010 21:17    Post subject: Reply with quote

Мне помогает в подобных случаях временный список исключений.
Либо можно просто "ручками" сначала добавить ненужные для показа файлы/каталоги к списку исключений ТК, а по ненадобности убрать их оттуда.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Wed Nov 03, 2010 21:37    Post subject: Reply with quote

Mangust88
Даже при беглом просмотре даже стандартного меню "Выделение" (не говоря уж про расширенное) легко найти блок команд, где есть и "Сохранить выделение", и "Восстановить выделение", и "Сохранить выделение в файл", и "Загрузить выделение из файла". Файл сохраняется в том каталоге, где выполняется фильтрация. Намёк понятен?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Wed Nov 03, 2010 22:08    Post subject: Reply with quote

sa
Спасибо! Удобно, уже ближе к идеальному решению Smile

Avada
Так и делал до некоторого времени, но это ваще не вариант. А то что "список исключений" я проморгал, это да, виноват
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Wed Nov 03, 2010 22:36    Post subject: Reply with quote

Mangust88 wrote:
уже ближе к идеальному решению

Чем не дотягивает? Smile
Back to top
View user's profile Send private message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Wed Nov 03, 2010 23:42    Post subject: Reply with quote

Не эстетично )
К тому же работает одновременно только для одной вкладки


Last edited by Mangust88 on Thu Nov 04, 2010 00:09; edited 1 time in total
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Nov 04, 2010 00:08    Post subject: Reply with quote

Mangust88 wrote:
но это ваще не вариант

Да? И почему же? Только конкретно, пожалуйста.
А список исключений лично я предпочитаю использовать по его прямому назначению.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Thu Nov 04, 2010 13:42; edited 1 time in total
Back to top
View user's profile Send private message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Thu Nov 04, 2010 00:14    Post subject: Reply with quote

Quote:
Да? И почему же? Только конкретно, пожалуйста.

очевидно же, окна разные вылезают и, повторюсь, работает одновременно только для одной вкладки
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Thu Nov 04, 2010 00:58    Post subject: Reply with quote

Avada wrote:
А список исключений лично я предпочитаю использовать по его прямому назначению.

То есть галка "Исключить (не показывать) следующие файлы и каталоги" в диалоге настройки списка исключений не совсем соответствует его прямому назначению?

Mangust88 wrote:
Такая же история с быстрым поиском. КАК ЭТОГО ИЗБЕЖАТЬ?

Избежать не знаю как, а восстановить последний использованный фильтр быстрого поиска можно с помощью Ctrl+Shift+S.
Back to top
View user's profile Send private message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Thu Nov 04, 2010 09:16    Post subject: Reply with quote

sa wrote:
а восстановить последний использованный фильтр быстрого поиска можно с помощью Ctrl+Shift+S.
Спасибо, очень кстати
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Nov 04, 2010 13:59    Post subject: Reply with quote

Mangust88 wrote:
очевидно же, окна разные вылезают и, повторюсь, работает одновременно только для одной вкладки

Тогда, прошу прощения, в первом посте надо было яснее формулировать исходную задачу. Там присутствуют фильтрация в текущей панели по маске/шаблону и быстрый поиск (который в данном случае на самом деле быстрый фильтр) опять же в текущей панели, но нет ровно ничего касающегося инструментария исключений, действующего чаще всего для указанных объектов, находящихся в самых разных местах.

sa wrote:
То есть галка "Исключить (не показывать) следующие файлы и каталоги" в диалоге настройки списка исключений не совсем соответствует его прямому назначению?

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


Last edited by Avada on Thu Nov 04, 2010 14:30; edited 1 time in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Thu Nov 04, 2010 14:10    Post subject: Reply with quote

Mangust88 wrote:
Не эстетично )
Согласен.

Mangust88 wrote:
К тому же работает одновременно только для одной вкладки
Простейшим решением вопроса будет не затирание временного списка исключений постоянным при каждом вызове скрипта (как сейчас), а его очередное пополнение. Удаляться временный список в таком случае будет либо вызовом скрипта при отсутствии невыделенных файлов, либо “ручками”. (Замечу что, если его не удалить, то и при новом сеансе ТК скрипт будет пополнять именно его, а не существующий постоянный список).
Привожу скрипт для рассматриваемого варианта:
Code:
'  File:         IgnoreTempListAdd.vbs
'  Description:  Формирует временный список исключений из невыделенных в панели
'    файлов/каталогов. Если временный список исключений (tempignore.txt) отсутствует,
'    а постоянный список (по умолчанию - tcignore.txt) имеется, то постоянный список
'    добавляется в начало создаваемого временного списка.
'    При наличии временного списка исключений он (временный список) только пополняется
'    невыделенными в панели файлами/каталогами, без какой-либо проверки актуальности
'    строк постоянного списка в нём.   
'     Способы прекращения действия временного списка исключений:
'    а) вызвать скрипт при отсутствии невыделенных файлов, то есть, если выделены все
'    или выделять нечего (файл временного списка при этом удаляется),
'    б) вызвать внутреннюю команду "Использовать список исключений файловых имён: вкл/выкл"
'    (два или один раз, в зависимости от желания/нежелания использовать постоянный список
'    исключений),   
'    в) закончить сеанс TC.
'    В вариантах б) и в) файл временного списка не удаляется и используется
'    при очередном вызове скрипта в том же или новом сеансе TC.
'  Parameters:   Нет
'  Requirements: WSH Helper for TC by Volniy
'  Installation: Создайте для скрипта, например, кнопку на панели инструментов TC
'  Autor:        sa

Option Explicit
Dim WSH, FSO, TCS, IgFile, IgTempFile, IgPath, IgPathExp, IgEnabled, MsgStr, S, S_exp, F1, IgSize, MsgMode
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
'========== Изменяемые параметры ===============================================
'Режим информационных сообщений: 2 -назойливый, 1 -щадящий, 0 -без сообщений
MsgMode = 1
'===============================================================================
TCS.LockTC True
IgFile = "tcignore.txt"
IgTempFile = "tempignore.txt"
IgPath = "%COMMANDER_PATH%\"
IgPathExp = TCS.TCPath & "\"
IgEnabled = TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFileEnabled", 0)
MsgStr = ""
IgSize = 0
S = TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFile", 0)
S_exp = WSH.ExpandEnvironmentStrings(S)
If FSO.FileExists(S_exp) Then
  IgPath = Left(S, InStrRev(S,"\"))
  IgPathExp = Left(S_exp, InStrRev(S_exp,"\"))
  IgFile = Right(S,len(S)-len(IgPath))
  IgSize =  FSO.GetFile(S_exp).size
else
  Set F1 = FSO.CreateTextFile(IgPathExp & IgFile, True)
  F1.Close
  Set F1 = Nothing
end if
TCS.SendCommand (3321) 'cm_ExchangeSelBoth
TCS.SendCommand (530) 'cm_SaveSelection
TCS.SendCommand (480) 'cm_IgnoreConfig
TCS.SendKeystroke "+{TAB 6}{ENTER}010{ENTER}{LEFT}{TAB 4}{ENTER}"
if FSO.GetBaseName(TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFile", 0)) = "010" then
  if IgEnabled = 0 then MsgStr = "Задействована функция исключений файловых имён."
  if not FSO.FileExists(IgPathExp & IgTempFile) then
    FSO.CopyFile IgPathExp & IgFile, IgPathExp & IgTempFile
    MsgStr = MsgStr & chr(13) & "Создан и применён временный список исключений."
  else
    if MsgMode = 2 then MsgStr = MsgStr & chr(13) & "Временный список исключений пополнен и применён."
  end if
  TCS.INIWrite TCS.MainINI , "Configuration", "IgnoreListFile", IgPath & IgTempFile
  TCS.SendCommand (529) 'cm_RestoreSelection
  TCS.SendCommand (480) 'cm_IgnoreConfig
  TCS.SendKeystroke "+{TAB 5}{ENTER}{TAB 2}{ENTER}"
  TCS.INIWrite TCS.MainINI, "Configuration", "IgnoreListFile", IgPath & IgFile
else
  MsgStr = "Невыделенных файлов/каталогов не найдено."
  if FSO.FileExists(IgPathExp & IgTempFile) then
    FSO.DeleteFile(IgPathExp & IgTempFile)
    MsgStr = MsgStr & chr(13) & "Временный список исключений удалён."
  end if
  if IgEnabled = 1 then
    TCS.SendCommand (2922) 'cm_SwitchIgnoreList
    if IgSize > 0 then
      TCS.SendCommand (2922) 'cm_SwitchIgnoreList
      MsgStr = MsgStr & chr(13) & "Используется постоянный список исключений."
    else
      MsgStr = MsgStr & chr(13) & "Действие функции исключений файловых имён прекращено."
    end if
  end if
end if
if MsgMode > 0 and MsgStr <> "" then MsgBox MsgStr, vbSystemModal, "IgnoreTempListAdd.vbs"
TCS.LockTC False
Set WSH = Nothing
Set FSO = Nothing
Set TCS = Nothing
Wscript.Quit


Last edited by sa on Wed Nov 10, 2010 13:55; edited 3 times in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Thu Nov 04, 2010 14:30    Post subject: Reply with quote

Avada wrote:
Но вообще говоря, список исключений формируется на долговременную перспективу, а не на ближайшие пять минут.

Гислер тоже так полагал, когда вводил в диалог настройки списка исключений кнопки "Добавить все выделенные с путями" и "Добавить все выделенные"?
К тому же, мой способ никоим образом на затрагивает пользовательский (постоянный) список исключений "tcignore.txt".
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Nov 04, 2010 14:46    Post subject: Reply with quote

sa wrote:
Гислер тоже так полагал, когда вводил в диалог настройки списка исключений кнопки "Добавить все выделенные с путями" и "Добавить все выделенные"?

Думаю, что да. Особенно для второй кнопки. Wink Потому что это просто способ обойтись без ручного ввода имён в списке исключений, быстро формируя список на "полуавтомате". Задача заменить первой кнопкой фильтрацию в текущей панели тут однозначно не преследовалась, а вторая кнопка для этой задачи просто непригодна.

sa wrote:
К тому же, мой способ никоим образом на затрагивает пользовательский (постоянный) список исключений "tcignore.txt".

Не спорю ни с этим, ни правом на существование самого способа. Напомню, речь изначально шла только о прямом назначении механизма исключений. Однако уже не раз бывало, что эти прямые назначения расширялись пытливыми пользователями, как говорил классик, "до чёрт знает каких пределов". Никакого противоречия.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Mangust88



Joined: 01 Nov 2010
Posts: 18

Post (Separately) Posted: Thu Nov 04, 2010 20:24    Post subject: Reply with quote

sa
Работает! Smile Прям вот спасибо от души! )
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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