Что? Программы? Опера среди них?Телепатические?
Сделал.Ну так, как ты предположил - в случае несовпадения.
"Вроде бы" я на это и указал. Смена сортировки — лишнее действие.Да и зачем куда-то лезть, когда колонка со временем вроде бы имеется.
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Что? Программы? Опера среди них?Телепатические?
Сделал.Ну так, как ты предположил - в случае несовпадения.
"Вроде бы" я на это и указал. Смена сортировки — лишнее действие.Да и зачем куда-то лезть, когда колонка со временем вроде бы имеется.
Код: Выделить всё
'========================== VBS ===========================
' Замена дат модификации выбранных в активной панели файлов
' на даты модификации файлов, выбранных в пассивной панели
' Условия: • необходим компонент TCScript.dll 1.0.0.14+
' • источник не должен совпадать с получателем
' • числа файлов в панелях должны совпадать
' • должны быть выбраны только файлы
' Параметры: %S1 %R1
'==========================================================
Option Explicit
Dim TCH, FSO, SP, TP, AList, PList, c, i, F, MDate
If WSH.Arguments.Count < 2 Then Quit
Set TCH = CreateObject("TCScript.Helper")
Set FSO = CreateObject("Scripting.FileSystemObject")
SP = TCH.GetInfo("SP") : TP = TCH.GetInfo("TP")
If Not FSO.FileExists(SP & WSH.Arguments(0)) Then Quit
If Not FSO.FileExists(TP & WSH.Arguments(1)) Then Quit
If SP = TP Then Quit
AList = TCH.GetSrcSelectedFiles(1)
TCH.LockTC True : PList = TCH.GetTrgSelectedFiles(1) : TCH.LockTC False
c = UBound(AList) : If c <> UBound(PList) Then Quit
For i = 0 To c
MDate = FSO.GetFile(PList(i)).DateLastModified : Set F = FSO.GetFile(AList(i))
If MDate <> F.DateLastModified Then TCH.SetFileDateAtr AList(i), F.DateCreated, MDate
Next
Sub Quit: Set FSO = Nothing : Set TCH = Nothing : WSH.Quit :End Sub
CreateObject("WScript.Shell").Popup Space(13) & "Выполнено!",_
1.4, " Замена дат модификации файлов ", 4160 : QuitКод: Выделить всё
'========================== 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А с /r проверял?Dimsok писал(а):нормально работает.