Дата/время изменения файлов из получателя в источник
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3  Next  :| |:
Total Commander -> Автоматизация Total Commander

#16:  Author: FlasherLocation: Москва PostPosted: Sat Aug 03, 2019 06:21
    —
Quote:
Телепатические?
Что? Программы? Опера среди них? Very Happy

Quote:
Ну так, как ты предположил - в случае несовпадения.
Сделал.
Quote:
Да и зачем куда-то лезть, когда колонка со временем вроде бы имеется.
"Вроде бы" я на это и указал. Смена сортировки — лишнее действие.

#17:  Author: Dimsok PostPosted: Sat Aug 03, 2019 06:45
    —
Quote:
Сделал.

Строка 10, символ 57. Недопустимый знак.
Вроде бы уже мудрое утро настало.

#18:  Author: FlasherLocation: Москва PostPosted: Sat Aug 03, 2019 06:53
    —
Да если б дело в часах было... Вручную правил. Раскладка не сменилась. Заменил символ. Также версию ТС указал в первом коде.

Так уж и быть, чисто ради разминки — упрощённые (без тултипов) и адаптированные под TC 8.52a версии к первому ТЗ:
Code:
'========================== 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
Code:
'========================== 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
Последний (без Хелпера) имеет лимит списка пассивной панели в рамках длины комстроки.

#19:  Author: Dimsok PostPosted: Sun Aug 04, 2019 01:28
    —
1. В "C:\Замена" отсутствует расширение имени файла.
2. Так же.

#20:  Author: FlasherLocation: Москва PostPosted: Sun Aug 04, 2019 08:01
    —
И это ты называешь багрепортом?

#21:  Author: Dimsok PostPosted: Mon Aug 05, 2019 03:14
    —
https://i.imgur.com/nzSxXk2.jpg

#22:  Author: FlasherLocation: Москва PostPosted: Mon Aug 05, 2019 14:02
    —
Это не баг. В первом случае ты не взял путь скрипта в кавычки, а во втором не убрал путь к wscript.exe.

И почему молчишь про предыдущее исправление? Без обратной связи желание помогать пропадает...

#23:  Author: Dimsok PostPosted: Tue Aug 06, 2019 02:42
    —
Quote:
В первом случае ты не взял путь скрипта в кавычки, а во втором не убрал путь к wscript.exe.

Ничего такого нет. Я просто перетаскиваю скрипт на панель и добавляю параметры.

Про какое предыдущее исправление?

#24:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 03:01
    —
Странно. Покажи полностью строку команды.

То, что ты просил по второму коду топика.

#25:  Author: Dimsok PostPosted: Tue Aug 06, 2019 03:03
    —
"C:\Замена дат модификации выбранных в активной панели файлов (tc8).vbs"

Добавлено спустя 35 секунд:

Переименовать?

Добавлено спустя 5 минут:

Изменить даты модификации файлов активной панели на даты одноимённых файлов пассивной.vbs?

Спасибо, нормально работает.

Добавлено спустя 15 минут:

Хм, оба варианта работают, если в пути нет пробелов. Независимо от наличия кавычек. С чего бы это...

#26:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 03:54
    —
И ТС у тебя 8.52a? Так?

Dimsok wrote:
Спасибо, нормально работает
Пож-та, хорошо.

#27:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:02
    —
Так.

#28:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 04:05
    —
Хм. А строку для первого варианта ты не показал.

Dimsok wrote:
нормально работает.
А с /r проверял?

Last edited by Flasher on Tue Aug 06, 2019 04:13; edited 1 time in total

#29:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:12
    —
"C:\Замена дат модификации выбранных в активной панели файлов2 (tc8).vbs"

#30:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 04:15
    —
Так а где путь к wscript.exe спереди? Я же тебе архив дал.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3  Next  :| |:
Page 2 of 3

Powered by phpBB © 2001, 2005 phpBB Group