'========================== VBS ===========================
' Замена дат модификации выбранных в активной панели файлов
' на даты модификации файлов, выбранных в пассивной панели
' Условия: • источник не должен совпадать с получателем
' • числа файлов в панелях должны совпадать
' • должны быть выбраны только файлы
' • путь запуска — пустой
' Параметры: %WF "%T" %R
'==========================================================
Option Explicit : Dim A, C, FSO, AP, List, i, n, MDate
Set A = WSH.Arguments : C = A.Count : If C < 3 Then WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO
AP = .GetAbsolutePathName("")
If StrComp(AP & "\", A(1), 1) = 0 Then WSH.Quit
If Not .FileExists(A(1) & A(2)) Then WSH.Quit
List = Split(.OpenTextFile(A(0),,,-1).ReadAll, vbCrLf)
End With
If Right(List(0), 1) = "\" Then WSH.Quit
If Ubound(List) <> C - 2 Then WSH.Quit
Set AP = CreateObject("Shell.Application").NameSpace(AP)
For i = 0 To C - 3
MDate = FSO.GetFile(A(1) & A(i + 2)).DateLastModified
If MDate <> FSO.GetFile(AP.Self.Path & "\" & List(i)) _
Then AP.ParseName(List(i)).ModifyDate = MDate : n = 1
Next
If n Then CreateObject("WScript.Shell").Popup Space(13) &_
"Выполнено!", 1.4, " Замена дат модификации файлов ", 4160 |