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 

Как сделать чтобы фильтр "не старше 1 дня" влиял на папки?
Goto page 1, 2, 3, 4, 5, 6, 7, 8  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
ViktorTosh



Joined: 12 Oct 2015
Posts: 3

Post (Separately) Posted: Mon Oct 12, 2015 15:35    Post subject: Как сделать чтобы фильтр "не старше 1 дня" влиял на папки? Reply with quote

Подскажите, можно ли как то сделать чтобы при выборе фильтра "не старше 1 дня" (меню Вид) его эффект распространялся бы в том числе и на папки, а не только на файлы?
А то сейчас только файлы отсекает, а папки не трогает.
Может где какая галочка есть в настройках программы?Или плагин какой?
(П.с. в написании скриптов не силен...)
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Mon Oct 12, 2015 16:07    Post subject: Reply with quote

Если необязательно через меню, то, может, можно через поиск? Вкладка ''Дополнительно'', там задаются и возраст, и тип: файл или каталог. А если сделать шаблон, то можно и скрипт накропать через команду LOADSEARCH.

Добавлено спустя 11 минут:

Даже скрипт необязателен. С шаблоном можно через то же меню: Вид | Фильтр....
_________________
Вечному двигателю -- вечные тормоза!..
Back to top
View user's profile Send private message
ViktorTosh



Joined: 12 Oct 2015
Posts: 3

Post (Separately) Posted: Mon Oct 12, 2015 17:15    Post subject: Reply with quote

Staniclaw
Так это я пробовал: через поиск, во вкладке дополнительно задал возраст, сохранил как шаблон.
Но вот когда выбираю его в Вид - Фильтр - то нишиша... папки не реагируют. Тотал 8,52. Если просто в поиске нажать "поиск"то отсеивает папки по возрасту нормально , внутри своего окошка.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2339

Post (Separately) Posted: Mon Oct 12, 2015 17:20    Post subject: Reply with quote

ViktorTosh wrote:
отсеивает папки по возрасту нормально , внутри своего окошка.

Вариант нажать в этом окошке кнопку "Файлы на панель" не подходит?
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Mon Oct 12, 2015 17:28    Post subject: Reply with quote

ViktorTosh
Слушайте, а это обязательно -- фильтрование? Сделайте раскраску файлов по этому шаблону. Раскраска затрагивает и каталоги.

Добавлено спустя 7 минут:

А если всё-таки необходима фильтрация, то можно через Num+ | <шаблон> | Ctrl+S. Каталоги выделяются вместе с файлами. И вместе же --фильтруются.
_________________
Вечному двигателю -- вечные тормоза!..
Back to top
View user's profile Send private message
ViktorTosh



Joined: 12 Oct 2015
Posts: 3

Post (Separately) Posted: Mon Oct 12, 2015 17:44    Post subject: Reply with quote

Staniclaw
Раскраску я давно сделал.
Про Num+ | <фильтр> | Ctrl+S. даже не понял что это и если это теоретически нельзя оформить в виде кнопки, то можно и не рссказывать)
Фильтрование то не обязательно, но удобно, это я в xyplorer насмотрелся.
Там есть "силовые фильтры" они так их обозвали. Кнопочку нажал и остались только файлы и папки удовлетворяющие фильтру. Кнопочку отжал - опять все показвает. Удобно.
Просто в том xyplorer - е выделение мне не нравиться и другое там мне тоже кое что не нравиться.
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Mon Oct 12, 2015 18:01    Post subject: Reply with quote

ViktorTosh wrote:
Про Num+ | <фильтр> | Ctrl+S. даже не понял что это и если это теоретически нельзя оформить в виде кнопки, то можно и не рссказывать).
Я имел в виду: нажимаешь плюс на цифровом блоке клавиатуры, в появившемся окне выбираешь шаблон поиска, нажимаешь OK. Файлов и папки, подпадающие под него, выделяются. Нажимаешь Ctrl+S, и в панели показываются только выделенные объекты.

Теоретически из этого можно сделать скрипт, который можно подвесить на кнопку.
_________________
Вечному двигателю -- вечные тормоза!..
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Oct 12, 2015 18:14    Post subject: Reply with quote

Staniclaw wrote:
Нажимаешь Ctrl+S, и в панели показываются только выделенные объекты.
Ну, да? Вот прям так взяли и показались? Wink

Тут иная ситуация. Скрипт фильтрует все элементы по диапазону, заносит в буфер, выполняет 2033, 2023 и 524. Можно с Хелпером, можно с TCFS2, как угодно.

Если без заморочек со скриптом, то
Code:
TCFS2.exe /ef "msg($0B,0) tcm(3311,1) send(@`>не старше 1 дня`,0) send({VK_13},0) delay(300) if(wait_for(findwnd(`TMyListBox`),2),tcm(2023)+msg($0B,1)+tcm(524))"
Без delay, увы, не срабатывает.. Возможно, это связано с небыстрым выделением после диалога, хотя на взгляд так не кажется.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Mailk



Joined: 16 Jan 2010
Posts: 184

Post (Separately) Posted: Tue Oct 13, 2015 12:47    Post subject: Reply with quote

Если бы у тебя была схема цветная на время файлов и папки то особо и не нужно с этим заморачиватся. при сортировки сразу видны папки не старше например 1часа,1 дня, 3 дней. У меня они разного цвета и лехко выделять.
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Tue Oct 13, 2015 13:17    Post subject: Reply with quote

Mailk
ViktorTosh wrote:
Раскраску я давно сделал.

_________________
Вечному двигателю -- вечные тормоза!..
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Tue Oct 13, 2015 13:21    Post subject: Reply with quote

Staniclaw
Не стоило с ним дискутировать вообще.

Mailk
Не надо лезть с советами (тем более, безграмотными), не разобравшись, что на самом деле обсуждается.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Oct 13, 2015 20:51    Post subject: Reply with quote

Сбацал скрипт. Если не лень, проверьте кто-нибудь.

Code:
'•••••••••••••••••••••••••••••••••••••• VBS ••••••••••••••••••••••••••••••••••••••
' Назначение:  Фильтрация в активной панели файлов и/или папок по заданной разнице
'              единиц измерения времени их дат с текущей датой и временем

'    Условия:  путь запуска - пустой
'              необходим компонент Script Helper ActiveX for TC

' Параметры: <тип элементов> <тип даты> <единица времени> <знак сравнения> <число>

' Тип элементов принимает следующие значения:
'    1   -   только папки
'    2   -   только файлы
'    3   -   папки и файлы

' Тип даты принимает следующие значения:
'    1   -   дата создания
'    2   -   дата модификации

' Единица (измерения) времени принимает следующие значения:
'    s   -   секунда
'    n   -   минута
'    h   -   час
'    d   -   сутки/день
'   ww   -   неделя
'    m   -   месяц
'    q   -   квартал
' yyyy   -   год

' Знак сравнения принимает следующие значения:  =  |  <>  |  <  |  <=  |  >=  |  >

' Примеры параметров:  3 1 n <= 5  |  2 2 d < 2

' Автор: Flasher ©
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Option Explicit : Dim Etype, DType, UTime, Compr, Count, DNow, FSO, Dir, F, D, S, T
With WScript.Arguments
  If .Count <> 5 Then MsgBox "Должно быть указано 5 параметров!",_
  vbExclamation, Space(17) & "Фильтрация по дате" : WSCript.Quit
  EType = .Item(0) : DType = .Item(1) : UTime = .Item(2)
  Compr = .Item(3) : Count = .Item(4)
End With : DNow = Now
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dir = FSO.GetFolder(CreateObject("Wscript.Shell").CurrentDirectory)

If EType <> 2 Then
  For Each F in Dir.SubFolders
    If Test(F) Then S = S & F & "\" & vbNewLine
  Next
End If
If EType > 1 Then
  For Each F in Dir.Files
    If Test(F) Then S = S & F & vbNewLine
  Next
End If
If Not IsEmpty(S) Then
  With CreateObject("TCScript.Helper")
    .Pause = 0 : .Wait = True : .LockTC True : T = .GetTextFromClip
    .SetTextToClip(S) : .SendCommand 2033, True : .SendCommand 2023, True
    .SendCommand 524, True : .LockTC False : .SetTextToClip(T)
  End With
End If

Function Test(Item)
  If DType = 1 Then D = Item.DateCreated Else D = Item.DateLastModified
  Test = Eval(DateDiff(UTime, 0, DNow - D) & Compr & Count)
End Function

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Oct 13, 2015 23:24; edited 1 time in total
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Tue Oct 13, 2015 23:05    Post subject: Reply with quote

Flasher
Ошибка в описании:
Flasher wrote:
' Параметры: <тип элементов> <тип даты> <единица врамени> <знак сравнения> <число>

_________________
Вечному двигателю -- вечные тормоза!..
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Oct 13, 2015 23:24    Post subject: Reply with quote

Staniclaw
Исправил. Но с такой ерундой лучше в ЛС.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2339

Post (Separately) Posted: Wed Oct 14, 2015 10:03    Post subject: Reply with quote

Мне больше нравится идея Staniclaw с фильтром посредством выделения (cm_SelectBoth – 3311) по шаблону не старше 1 дня и показом только выделенного (cm_ShowOnlySelected - 2023). Возможно, для большей наглядности, имеет смысл дополнительно включить вначале обычную фильтрацию (cm_SrcUserDef - 314), которая влияет только на файлы. Кнопка c TCFS2:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "run_item(locktc,1) tcm(524) tcm(314,1) eval(send_wait(@`>не старше 1 дня`, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(3311,1) eval(send_wait(@`>не старше 1 дня`, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(2023) tcm(524) run_item(locktc,0) redraw"
WCMICONS.DLL,24
Фильтр для файлов/папок не старше 1 дня


-1


Last edited by sa on Wed Oct 21, 2015 23:17; edited 1 time in total
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, 4, 5, 6, 7, 8  Next
Page 1 of 8

 
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