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 

Single Post  Topic: Выделение всех файлов с той же датой что и файл под курсором 
Author Message
Flasher



PostPosted: Fri Nov 25, 2016 01:35    Post subject: Reply with quote

А. Тогда через скрипт.

prog_san wrote:
Требовалось выделить файлы которые имеют ту же дату что и текущий файл под курсором
Зачем два раза разжёвывать неточное ТЗ? Уже всё ясно.

Вот:
Code:
'============================== VBS ==============================
' Выделение файлов/каталогов по дате файла/каталога под курсором
' Требуется dll-компонент "Script Helper ActiveX for TC by Volniy"
' Параметр: <дата создания/модификации/последнего доступа: 1/2/3>
'=================================================================
Option Explicit: Dim FSO, N, P, L, Item, X, Y, T, D, F
Sub MsgErr
  MsgBox "Укажите 1, 2 или 3 в качестве параметра!",_
  4144, " Выделение элементов" : WScript.Quit
End Sub : If WScript.Arguments.Count = 0 Then MsgErr
Set FSO = CreateObject("Scripting.FileSystemObject")
With CreateObject("TCScript.Helper")
  .Pause = 0   : N = .GetInfo("SN") : If N = ".." Then WScript.Quit
  .Wait = True : P = .GetInfo("SP") : L = Len(P) + 1 : Item = P & N
  Select Case True
    Case FSO.FileExists(Item)   X = 2 : Y = "File"
    Case FSO.FolderExists(Item) X = 3 : Y = "Folder"
    Case Else WScript.Quit
  End Select : T = .GetTextFromClip
  Select Case WScript.Arguments(0)
    Case "1" D = "Created" : Case "2" D = "LastModified"
    Case "3" D = "LastAccessed" : Case Else MsgErr
  End Select
  Execute "DateFl = DateValue(FSO.Get" & Y & "(Item).Date" & D & ")"
  .LockTC True : .SendCommand 524, True : .SendCommand 330 & X, True
  For Each F In .GetSrcSelectedFiles(1)
    Execute "If DateValue(FSO.Get" & Y & "(F).Date" &_
    D & ") = DateFl Then S = S & vbNewLine & Mid(F, L)"
  Next :.SetTextToClip(Mid(S, 3)): .SendCommand 2033, True
  .LockTC False : .SetTextToClip(T)
End With

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


Last edited by Flasher on Fri Nov 25, 2016 16:56; edited 1 time in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group