View previous topic :: View next topic |
Author |
Message |
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
(Separately) Posted: Mon Jul 27, 2015 17:51 Post subject: Настройка временного промежутка при поиске файлов по дате |
|
|
Левое окно даты по дефолту показывает текущее время, в правом же окне время автоматом выставляется на 23:59:59.
http://s25.postimg.org/gq62j1m67/TCMD_04.png
Требуется чтобы в левой ячейке время было текущем (текущИм?), но с нулевыми секундами, то есть если даже время 21:21:55, то оно бы выглядело как 21:21:00.
От правой ячейки требуется выставлять время ровно на 2 минуты старше чем в левой, то есть:
левая: 21:21:00
правая: 21:23:00
Можно ли организовать такое просто средствами настройки конфига TC? Хотя бы с правой колонкой разобраться, а то уж совсем не в тему там время выставляется. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10259 Location: Россия, Саратов
|
(Separately) Posted: Mon Jul 27, 2015 19:08 Post subject: |
|
|
Kokkolar
Для экономии времени прежде всего процитирую фрагмент из нашей с CaptainFlint книги по TC.
Quote: | Опция Дата между (Date between) активизирует два поля, позволяющие указать период времени, когда в последний раз файл был изменен. Можно заполнить только одно из полей (если это первое поле, поиск ведется в диапазоне между указанной датой и текущей, а если второе, — то по указанную дату включительно) или оба поля сразу (тогда обе даты включаются в диапазон поиска). По умолчанию первое поле пустое, во второе автоматически подставляется текущая дата.
Вы можете указать в этих полях не только дату, но и время изменения файла, надо только отделить заданное время от даты пробелом (например, 10.07.08 10:30). |
На момент написания книги дочерних диалогов для вставки даты/времени ещё не было, всё делалось вручную. Но в любом случае опция была предназначена в первую очередь для указания диапазона по датам. (Указание диапазона по времени, но в пределах одной даты — далеко не самый частый случай такого поиска, а с указанными в предыдущем посте условиями — и вовсе экзотический.) Нет ничего удивительного, что при использовании дочернего диалога по умолчанию во второе поле всегда подставляется максимально возможное для данной даты время, то есть 23:59:59. (Оно же берётся, если в поле используется дата без времени.) А в первом поле, если мы хотим его заполнить текущими датой/временем, они предлагаютcя, разумеется, с фактическим числом секунд. Откуда и с чего в каком-то из этих полей могли бы принудительно взяться нули секунд, я решительно не понимаю.
Никаких настроек для изменения этого поведения не существует. И, как было сказано, всё там выставляется весьма в тему.
А если вам хочется искать файлы в произвольном диапазоне, исправьте нужные цифры ручками. И, конечно, никакого текущего времени в диапазоне в этом случае ни с какой стороны не будет. Близко — но не то. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2569
|
(Separately) Posted: Tue Jul 28, 2015 12:46 Post subject: |
|
|
Скрипт с использованием утилиты TCFS2:
Code: | '============================================
' Описание: Поиск файлов в интервале 2 минут
' Требования: Необходима утилита TCFS2
'============================================
NOW1 = NOW
NOW2 = dateadd("n",2,NOW1)
WScript.CreateObject("WScript.Shell").Exec "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" _
& " /ef ""tcm(501,1) eval(send_wait(`~(^{TAB}{TAB} " _
& Right("0" & Day(NOW1), 2) & "." & Right("0" & Month(NOW1), 2) & "." & Year(NOW1) _
& " " & Right("0" & Hour(NOW1), 2) & ":" & Right("0" & Minute(NOW1), 2) & ":" & "00" _
& "{TAB 2}" & Right("0" & Day(NOW2), 2) & "." & Right("0" & Month(NOW2), 2) & "." & Year(NOW2) _
& " " & Right("0" & Hour(NOW2), 2) & ":" & Right("0" & Minute(NOW2), 2) & ":" & "00" _
& "^+{TAB}{TAB})`, findwnd(`TFindFile`)))""" |
|
|
Back to top |
|
|
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
(Separately) Posted: Tue Jul 28, 2015 20:02 Post subject: |
|
|
Скрипт для PowerPro, который использует TCFS2 - я правильно понял? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jul 28, 2015 20:10 Post subject: |
|
|
Kokkolar
Нет, PP тут совсем не пахнет, это vbs.
P.S.: А вообще на будущее лучше запомнить, что если тут не указывают язык, то по умолчанию будет VBScript. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2569
|
(Separately) Posted: Wed Jul 29, 2015 10:28 Post subject: |
|
|
Kokkolar
Нужно создать файл *.vbs (например, %COMMANDER_PATH%\VBS\Поиск в интервале 2 минут.vbs) с приведённым кодом, скачать и положить утилиту TCFS2 (вместе с ini-файлом) в папку %COMMANDER_PATH%\Utils\TCFS2. Утилита отправляет ТК указание выполнить внутреннюю команду cm_SearchFor (501) и эмулирует нажатия клавиш в диалоге поиска для установки интервала, который определяется в скрипте. Поиск можно вызывать кнопкой: Code: | TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\VBS\Поиск в интервале 2 минут.vbs"
wcmicons.dll,47
Поиск в интервале 2 минут
-1
|
|
|
Back to top |
|
|
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
(Separately) Posted: Wed Jul 29, 2015 17:21 Post subject: |
|
|
Создал такую кнопку, но при нажатии она просто открывает поисковое окно, параметры поиска такие же как и при открытии поиска без скрипта. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2569
|
(Separately) Posted: Wed Jul 29, 2015 17:26 Post subject: |
|
|
Kokkolar
На вкладке "Дополнительно" диалога поиска файлов при этом тоже ничего не меняется? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jul 29, 2015 21:26 Post subject: |
|
|
Я бы немного подсократил скрипт:
Code: | '===================================================
' Описание: поиск файлов в интервале 2 будущих минут
'============== Путь к утилите TCFS2 ===============
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'===================================================
NOW1 = NOW : NOW2 = dateadd("n", 2, NOW1)
WScript.CreateObject("WScript.Shell").Run TCFS2 &_
" /ef ""tcm(501,1) eval(send_wait(`~(^{TAB}{TAB} " & Redate(NOW1) & _
"{TAB 2}" & Redate(NOW2) & "^+{TAB}{TAB})`, findwnd(`TFindFile`)))"""
Function Redate(NOWX)
Redate = Right("0" & Day(NOWX), 2) & "." & Right("0" & Month(NOWX), 2) & "." &_
Year(NOWX) & " " & Right("0" & Hour(NOWX), 2) & ":" & Right("0" & Minute(NOWX), 2) & ":00"
End Function |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
(Separately) Posted: Wed Jul 29, 2015 22:02 Post subject: |
|
|
sa
Там все пусто, как при обычном вызове поиска. То есть даже галочка поиска по дате не стоит. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2569
|
(Separately) Posted: Wed Jul 29, 2015 23:36 Post subject: |
|
|
Kokkolar
Странно. Проверял и на XP и на семёрке.
Меня в подобных случаях иногда выручала небольшая пауза delay(200) после вызова внутренней команды ТК. Можно попробовать ввести её в скрипте после tcm(501,1), перед eval. В качестве разделителя использовать пробелы. |
|
Back to top |
|
|
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
(Separately) Posted: Thu Jul 30, 2015 16:43 Post subject: |
|
|
Сделал в винде ассоциацию Notepad++ с файлами типа *.vbs, так теперь по созданной в TC кнопке он мне тупо этот скрипт в Notepad++ открывает, соответственно даже выполнить его не пытается.
Важно ли с какой прогой ассоциировать файлы *.vbs в самой винде?
Или может я некорректно кнопку создал?
http://s25.postimg.org/l5u1sbybj/knopka.png |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10259 Location: Россия, Саратов
|
(Separately) Posted: Thu Jul 30, 2015 17:40 Post subject: |
|
|
Kokkolar
VBS может работать как исполняемый файл, для него вообще не следовало прописывать такие ассоциации. Notepad++ можно было ассоциировать с просмотром этого типа файлов или с правкой по F4. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Kokkolar
Joined: 19 Jul 2011 Posts: 19
|
|
Back to top |
|
|
|