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 -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Mon Jul 27, 2015 17:51    Post subject: Настройка временного промежутка при поиске файлов по дате Reply with quote

Левое окно даты по дефолту показывает текущее время, в правом же окне время автоматом выставляется на 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
View user's profile Send private message
Avada



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

Post (Separately) Posted: Mon Jul 27, 2015 19:08    Post subject: Reply with quote

Kokkolar
Для экономии времени прежде всего процитирую фрагмент из нашей с CaptainFlint книги по TC.
Quote:
Опция Дата между (Date between) активизирует два поля, позволяющие указать период времени, когда в последний раз файл был изменен. Можно заполнить только одно из полей (если это первое поле, поиск ведется в диапазоне между указанной датой и текущей, а если второе, — то по указанную дату включительно) или оба поля сразу (тогда обе даты включаются в диапазон поиска). По умолчанию первое поле пустое, во второе автоматически подставляется текущая дата.
Вы можете указать в этих полях не только дату, но и время изменения файла, надо только отделить заданное время от даты пробелом (например, 10.07.08 10:30).

На момент написания книги дочерних диалогов для вставки даты/времени ещё не было, всё делалось вручную. Но в любом случае опция была предназначена в первую очередь для указания диапазона по датам. (Указание диапазона по времени, но в пределах одной даты — далеко не самый частый случай такого поиска, а с указанными в предыдущем посте условиями — и вовсе экзотический.) Нет ничего удивительного, что при использовании дочернего диалога по умолчанию во второе поле всегда подставляется максимально возможное для данной даты время, то есть 23:59:59. (Оно же берётся, если в поле используется дата без времени.) А в первом поле, если мы хотим его заполнить текущими датой/временем, они предлагаютcя, разумеется, с фактическим числом секунд. Откуда и с чего в каком-то из этих полей могли бы принудительно взяться нули секунд, я решительно не понимаю.
Никаких настроек для изменения этого поведения не существует. И, как было сказано, всё там выставляется весьма в тему.
А если вам хочется искать файлы в произвольном диапазоне, исправьте нужные цифры ручками. И, конечно, никакого текущего времени в диапазоне в этом случае ни с какой стороны не будет. Близко — но не то.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Tue Jul 28, 2015 12:46    Post subject: Reply with quote

Скрипт с использованием утилиты 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
View user's profile Send private message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Tue Jul 28, 2015 20:02    Post subject: Reply with quote

Скрипт для PowerPro, который использует TCFS2 - я правильно понял?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Jul 28, 2015 20:10    Post subject: Reply with quote

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



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Wed Jul 29, 2015 10:28    Post subject: Reply with quote

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
View user's profile Send private message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Wed Jul 29, 2015 17:21    Post subject: Reply with quote

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



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Wed Jul 29, 2015 17:26    Post subject: Reply with quote

Kokkolar
На вкладке "Дополнительно" диалога поиска файлов при этом тоже ничего не меняется?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Jul 29, 2015 21:26    Post subject: Reply with quote

Я бы немного подсократил скрипт:
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
View user's profile Send private message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Wed Jul 29, 2015 22:02    Post subject: Reply with quote

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



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Wed Jul 29, 2015 23:36    Post subject: Reply with quote

Kokkolar
Странно. Проверял и на XP и на семёрке.
Меня в подобных случаях иногда выручала небольшая пауза delay(200) после вызова внутренней команды ТК. Можно попробовать ввести её в скрипте после tcm(501,1), перед eval. В качестве разделителя использовать пробелы.
Back to top
View user's profile Send private message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Thu Jul 30, 2015 16:43    Post subject: Reply with quote

Сделал в винде ассоциацию Notepad++ с файлами типа *.vbs, так теперь по созданной в TC кнопке он мне тупо этот скрипт в Notepad++ открывает, соответственно даже выполнить его не пытается.

Важно ли с какой прогой ассоциировать файлы *.vbs в самой винде?

Или может я некорректно кнопку создал?
http://s25.postimg.org/l5u1sbybj/knopka.png
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Thu Jul 30, 2015 16:48    Post subject: Reply with quote

Чтобы не зависеть от ассоциации, прописывай запуск интерпретатора с путем к скрипту:
Code:
C:\Windows\System32\wscript.exe "%COMMANDER_PATH%\VBS\Finder.vbs"

_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Jul 30, 2015 17:40    Post subject: Reply with quote

Kokkolar
VBS может работать как исполняемый файл, для него вообще не следовало прописывать такие ассоциации. Notepad++ можно было ассоциировать с просмотром этого типа файлов или с правкой по F4.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Kokkolar



Joined: 19 Jul 2011
Posts: 19

Post (Separately) Posted: Thu Jul 30, 2015 18:27    Post subject: Reply with quote

После вставки delay(200), результат вот такой вот:
http://s25.postimg.org/4w3vpfnnj/tcmd_05.png
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  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