Страница 1 из 8
Как сделать чтобы фильтр "не старше 1 дня" влиял на папки?
Добавлено: Пн окт 12, 2015 14:35
ViktorTosh
Подскажите, можно ли как то сделать чтобы при выборе фильтра "не старше 1 дня" (меню Вид) его эффект распространялся бы в том числе и на папки, а не только на файлы?
А то сейчас только файлы отсекает, а папки не трогает.
Может где какая галочка есть в настройках программы?Или плагин какой?
(П.с. в написании скриптов не силен...)
Добавлено: Пн окт 12, 2015 15:18
Staniclaw
Если необязательно через меню, то, может, можно через поиск? Вкладка ''Дополнительно'', там задаются и возраст, и тип: файл или каталог. А если сделать шаблон, то можно и скрипт накропать через команду LOADSEARCH.
Добавлено спустя 11 минут:
Даже скрипт необязателен. С шаблоном можно через то же меню: Вид | Фильтр....
Добавлено: Пн окт 12, 2015 16:15
ViktorTosh
Staniclaw
Так это я пробовал: через поиск, во вкладке дополнительно задал возраст, сохранил как шаблон.
Но вот когда выбираю его в Вид - Фильтр - то нишиша... папки не реагируют. Тотал 8,52. Если просто в поиске нажать "поиск"то отсеивает папки по возрасту нормально , внутри своего окошка.
Добавлено: Пн окт 12, 2015 16:20
sa
ViktorTosh писал(а):отсеивает папки по возрасту нормально , внутри своего окошка.
Вариант нажать в этом окошке кнопку "Файлы на панель" не подходит?
Добавлено: Пн окт 12, 2015 16:34
Staniclaw
ViktorTosh
Слушайте, а это обязательно -- фильтрование? Сделайте раскраску файлов по этому шаблону. Раскраска затрагивает и каталоги.
Добавлено спустя 7 минут:
А если всё-таки необходима фильтрация, то можно через Num+ | <шаблон> | Ctrl+S. Каталоги выделяются вместе с файлами. И вместе же --фильтруются.
Добавлено: Пн окт 12, 2015 16:44
ViktorTosh
Staniclaw
Раскраску я давно сделал.
Про Num+ | <фильтр> | Ctrl+S. даже не понял что это и если это теоретически нельзя оформить в виде кнопки, то можно и не рссказывать)
Фильтрование то не обязательно, но удобно, это я в xyplorer насмотрелся.
Там есть "силовые фильтры" они так их обозвали. Кнопочку нажал и остались только файлы и папки удовлетворяющие фильтру. Кнопочку отжал - опять все показвает. Удобно.
Просто в том xyplorer - е выделение мне не нравиться и другое там мне тоже кое что не нравиться.
Добавлено: Пн окт 12, 2015 17:01
Staniclaw
ViktorTosh писал(а):Про Num+ | <фильтр> | Ctrl+S. даже не понял что это и если это теоретически нельзя оформить в виде кнопки, то можно и не рссказывать).
Я имел в виду: нажимаешь плюс на цифровом блоке клавиатуры, в появившемся окне выбираешь шаблон поиска, нажимаешь
OK. Файлов и папки, подпадающие под него, выделяются. Нажимаешь
Ctrl+S, и в панели показываются только выделенные объекты.
Теоретически из этого можно сделать скрипт, который можно подвесить на кнопку.
Добавлено: Пн окт 12, 2015 17:14
Flasher
Staniclaw писал(а):Нажимаешь Ctrl+S, и в панели показываются только выделенные объекты.
Ну, да? Вот прям так взяли и
показались?
Тут иная ситуация. Скрипт фильтрует все элементы по диапазону, заносит в буфер, выполняет 2033, 2023 и 524. Можно с Хелпером, можно с TCFS2, как угодно.
Если без заморочек со скриптом, то
Код: Выделить всё
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, увы, не срабатывает.. Возможно, это связано с небыстрым выделением после диалога, хотя на взгляд так не кажется.
Добавлено: Вт окт 13, 2015 11:47
Mailk
Если бы у тебя была схема цветная на время файлов и папки то особо и не нужно с этим заморачиватся. при сортировки сразу видны папки не старше например 1часа,1 дня, 3 дней. У меня они разного цвета и лехко выделять.
Добавлено: Вт окт 13, 2015 12:17
Staniclaw
MailkViktorTosh писал(а):Раскраску я давно сделал.
Добавлено: Вт окт 13, 2015 12:21
Avada
Staniclaw
Не стоило с ним дискутировать вообще.
Mailk
Не надо лезть с советами (тем более, безграмотными), не разобравшись, что на самом деле обсуждается.
Добавлено: Вт окт 13, 2015 19:51
Flasher
Сбацал скрипт. Если не лень, проверьте кто-нибудь.
Код: Выделить всё
'•••••••••••••••••••••••••••••••••••••• 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
Добавлено: Вт окт 13, 2015 22:05
Staniclaw
Flasher
Ошибка в описании:
Flasher писал(а):' Параметры: <тип элементов> <тип даты> <единица врамени> <знак сравнения> <число>
Добавлено: Вт окт 13, 2015 22:24
Flasher
Staniclaw
Исправил. Но с такой ерундой лучше в ЛС.
Добавлено: Ср окт 14, 2015 09:03
sa
Мне больше нравится идея
Staniclaw с фильтром посредством выделения (cm_SelectBoth – 3311) по шаблону
не старше 1 дня и показом только выделенного (cm_ShowOnlySelected - 2023). Возможно, для большей наглядности, имеет смысл дополнительно включить вначале обычную фильтрацию (cm_SrcUserDef - 314), которая влияет только на файлы. Кнопка c
TCFS2:
Код: Выделить всё
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