Как сделать чтобы фильтр "не старше 1 дня" влиял на папки?

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):это не сложно.
Будем надеяться. Вся антидемагогическая комиссия скрестила пальцы. :)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Может быть, пора решить, что ваши разногласия по применению того или иного способа лучше обсуждать в ЛС? Я тоже мог не переносить в личку весьма обширные дискуссии по нюансам применения обоих ваших методов, но не думаю что это пошло бы на пользу тем, кто читает эту тему...
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):разногласия по применению того или иного способа лучше обсуждать в ЛС?
Нет уж, увольте!

Ну и пока решение об обсуждении разногласий в ЛС ещё не принято, доложу комиссии (надеюсь, она ещё заседает :) ) о результатах расслабления.
Проверял скрипты на содержимом Install.cab 32-разрядного TC 8.52a, скопированном на диск.
Строка параметров была такой: 2 2 m = 1.
Первый скрипт не выбрал (не отфильтровал) ни одного файла. Второй отфильтровал все (их там 32). Неужели,
Flasher писал(а):По сути это одно и то же
?
Примерно такие же по степени несхожести результаты можно получить и в папке с установленным TC 8.52a.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Да, получается не одно и то же. Да, здесь работа скриптов различается. Но я свои кнопки настраивал не на равенство, а на <= и получил вполне ожидаемый результат, одинаковый в обоих скриптах (из коих первый меня уже интересует постольку-поскольку, ибо пользоваться намерен последним).
В связи с этим хочу спросить: какой результат работы скрипта при указанных в предыдущем посте параметрах следует считать правильным?
Иначе говоря, какому временному промежутку (в днях от сегодняшнего) должны на самом деле соответствовать параметры m = 1?
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):на <= и получил вполне ожидаемый результат, одинаковый в обоих скриптах
У меня (на содержимом Install.cab) результат, такой же, как и для m = 1, то есть снова разный для двух скриптов.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Да, первый скрипт применительно к распакованному дистрибутиву TC (именно там!) сообщает, что соответствий нет, второй оставляет все файлы и ничего не сообщает. Но как насчёт ответа на заданный мной вопрос?
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada
Я про то же:
Первый скрипт не выбрал (не отфильтровал) ни одного файла. Второй отфильтровал все (их там 32)
Avada писал(а):как насчёт ответа
Лучше получить его от автора скриптов.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Лучше получить его ото всех заинтересованных лиц. Раз выставляется некий критерий, то предполагается, очевидно, что выставляющему при получении некоего результата будет понятно, соответствует он критерию или нет. (Например, несколько раньше в этой теме я высказался против включения в параметры двух раздельных равенств после того, как доказать экспериментально их практическую полезность просто не смог.) Сейчас меня интересует правильное использование конкретно параметра с месяцами. Пока безотносительно к каталогу с дистрибутивом TC, в общем виде.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):какому временному промежутку (в днях от сегодняшнего) должны на самом деле соответствовать параметры m = 1
Мне кажется, здесь не должно быть речи о днях, речь о месяце, который отличается от текущего на 1 (то есть в октябре это сентябрь, независимо от дней этих месяцев).
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Мысль понятна, но фактами не подтверждается. Если вот сейчас выполнять обычную фильтрацию с помощью поискового шаблона TC (по критерию "не старше 1 месяца" со стандартной опцией), то найдены будут файлы за сентябрь-октябрь. Похоже, всё-таки это последние 30 дней.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):Мысль понятна, но фактами не подтверждается.
Я говорил не о стандартной опции поиска в TC, а о работе функции DateDiff в VBS-скриптах.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada писал(а):Да, первый скрипт применительно к распакованному дистрибутиву TC (именно там!) сообщает, что соответствий нет
Первый ничего не может сообщить.

В общем, да, я ошибся насчёт аналогии и поспешил с внесением правки (sa как всегда 'помог'), теперь впомнил, зачем я разницу с вычитанием применял. Думаю, лучше вернуть во второй скрипт исходный способ, который указывает целую часть единицы при посекундном сравнении, в отличии от именного, если так можно выразиться.
Можно, конечно, сделать опционально, но что-то как-то...

Ладно, ждать не стал. Вернул как было.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
А как насчёт того, чтобы ответить на вопрос Avada, какому временному промежутку должны соответствовать параметры m = 1?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Попробовал изменить скриптовую функцию Test проверки соответствия временному промежутку таким образом, чтобы бы она давала результат, схожий с результатом стандартной опции "Не старше" диалога поиска ТК:

Код: Выделить всё

Function Test(Item)
  Dim D, Cnt, UT
  If DType = 1 Then D = Item.DateCreated Else D = Item.DateLastModified
  If (UTime = "s") or (UTime = "n") or (UTime = "h") Then UT = "s" Else UT = "d"
  Cnt = DateDiff(UT, D, DateAdd(UTime, -Count, DNow))
  Test = Eval(Cnt & Comp1 & 0)
  If C > 5 Then
    Cnt = DateDiff(UT, D, DateAdd(UTime, -Count2, DNow))
    Test = Test And Eval(Cnt & Comp2 & 0)
  End If
End Function
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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