'========================== VBS ===========================
' Замена дат модификации выбранных в активной панели файлов
' на даты модификации файлов, выбранных в пассивной панели
' Условия: • необходим компонент TCScript.dll 1.0.0.15+
' • числа файлов в панелях должны совпадать
' • должны быть выбраны только файлы
' • TC 9.10+
'===================================== Автор: Flasher © ===
Option Explicit: Dim TCH, FSO, A, AList, PList, i, F, MDate
Set TCH = CreateObject("TCScript.Helper")
Set FSO = CreateObject("Scripting.FileSystemObject")
With TCH
A = .GetInfo(1000)
Select Case True
Case .GetInfo(1006+A) + .GetInfo(1004+A) = 0 Quit "В активной панели ничего не выбрано!"
Case .GetInfo(1009-A) + .GetInfo(1007-A) = 0 Quit "В пассивной панели ничего не выбрано!"
Case .GetInfo("LP") = .GetInfo("RP") Quit "Источник не должен совпадать с получателем!"
Case .GetInfo(1005) <> .GetInfo(1006) Quit "Количества выделенных объектов не совпадают!"
End Select
.LockTC True : AList = .GetSrcSelectedFiles(1)
If Right(AList(0), 1) = "\" Then Quit "Снимите выделение с папок активной панели!"
PList = .GetTrgSelectedFiles(1)
If Right(PList(0), 1) = "\" Then Quit "Снимите выделение с папок пассивной панели!"
.LockTC False : A = .GetInfo(1005) : If A = 0 Then A = 1
For i = 0 To A - 1
MDate = FSO.GetFile(PList(i)).DateLastModified : Set F = FSO.GetFile(AList(i))
If MDate <> F.DateLastModified Then .SetFileDateAtr AList(i), F.DateCreated, MDate
Next
End With
Set TCH = Nothing: Set FSO = Nothing
CreateObject("WScript.Shell").Popup Space(13) & "Выполнено!",_
1.7, " Замена дат модификации файлов ", 4160
Sub Quit(Msg)
Dim Color : Set FSO = Nothing
With TCH
.LockTC False
Color = .INIRead(.MainINI, "Colors", "BackColor", "16777215")
If Color = "-1" Then Color = 16777215
CreateObject("Internet.HHCtrl").TextPopup Msg,_
.INIRead(.MainINI, "AllResolutions", "FontNameTip", "Verdana") &","&_
.INIRead(.MainINI, "AllResolutions", "FontSizeTip", "10"), 20, 10,_
Abs(.INIRead(.MainINI,"Colors","ForeColor","-1")), Color
WSH.Sleep 2000 : Set TCH = Nothing : WSH.Quit
End With
End Sub |