| 
 
	
		| View previous topic :: View next topic |  
		| Author | Message |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Thu Aug 01, 2019 05:54    Post subject: Дата/время изменения файлов из получателя в источник |   |  
				| 
 |  
				| Нужно менять дату модификации файлов в текущей панели на дату модификации файлов из другой панели. Желательно в 2 вариантах: 1. Изменяется время выделенных в текущей панели файлов на время выбранных в противоположной панели файлов. При условии, что количество выбранных файлов в другой и текущей панели идентично, при том, что имена могут быть разными. В противном случае ничего не делать.
 2. Изменяется время всех файлов в текущей панели на время модификации файлов из другой панели. Только тех, чьи имена (вместе с расширениями) совпадают с именами файлов в противоположной панели.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu Aug 01, 2019 10:31    Post subject: |   |  
				| 
 |  
				| 1. А если где-то будут выбраны только или частично папки? Смотреть на совпадение кол-ва лучше обработки меньшего из чисел? 2. Папки игнорировать?
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Fri Aug 02, 2019 01:17    Post subject: |   |  
				| 
 |  
				| 1. Если выбраны папки, то ничего не делать. То же самое во втором вопросе - только совпадение количества. 2. Имеешь  в виду выделенные папки вместо файлов или рекурсию? Если можно (или не сложно) отдельный параметр, то рекурсия не помешала бы. В противном случае лучше без неё.
 |  |  
		| Back to top |  |  
		|  |  
		| sa 
 
 
 Joined: 29 Apr 2009
 Posts: 2709
 
 
 | 
			
				|  (Separately) Posted: Fri Aug 02, 2019 11:00    Post subject: |   |  
				| 
 |  
				| Dimsok Вторую задачу можно решить из диалога синхронизации каталогов: Сравнить, Ctrl+A, Контекстное меню, Копировать свойства файла…
 |  |  
		| Back to top |  |  
		|  |  
		| sa 
 
 
 Joined: 29 Apr 2009
 Posts: 2709
 
 
 | 
			
				|  (Separately) Posted: Fri Aug 02, 2019 16:17    Post subject: |   |  
				| 
 |  
				| Dimsok Стоит учесть момент, что при использовании синхронизации каталогов в варианте с рекурсией (галка "с подкаталогами"), скопируются метки даты и времени также и папок, содержащих файлы (подробнее здесь).
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Fri Aug 02, 2019 20:45    Post subject: |   |  
				| 
 |  
				| Про неавтоматизацию в этом разделе мы не говорим... 
 Dimsok
 Проверяй:
 
  	  | Code: |  	  | '========================== 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
 | 
 Кое-что похожее выкладывал. 	  | Code: |  	  | '=================== VBS ====================
' Изменить даты модификации файлов активной
 ' панели на даты одноимённых файлов пассивной
 
 ' Условие:  путь запуска — пустой
 
 ' Параметр: "%T"
 ' /r — ключ обработки всей файловой структуры
 '============================================
 Option Explicit: Dim FSO, PPath, PLn, APath, R, AFold, c
 Set FSO = CreateObject("Scripting.FileSystemObject")
 PPath = WSH.Arguments(0) : PLn  = Len(PPath) + 1
 APath = FSO.GetAbsolutePathName("")
 R = WSH.Arguments.Named.Exists("r")
 With CreateObject("Shell.Application")
 Set AFold = .NameSpace(APath) : Recurse .NameSpace(PPath)
 End With
 Set AFold = Nothing : Set FSO = Nothing
 If c Or R Then CreateObject("WScript.Shell").Popup Space(13) &_
 "Выполнено!", 1.7, " Замена дат модификации файлов      ", 4160
 
 Sub Recurse(PFold)
 RPath = Mid(PFold.Self.Path, PLn)
 Dim RPath, Items, i, Name, FName
 Set Items = PFold.Items
 Items.Filter 73920, "*"
 For Each i in Items
 Name = FSO.GetFileName(i.Path)
 If FSO.FileExists(FSO.BuildPath(APath, RPath & "\" & Name)) Then c = 1:_
 AFold.ParseName(FSO.BuildPath(RPath, Name)).ModifyDate = i.ModifyDate
 Next
 If R Then Items.Filter 73888, "*" :_
 For Each i in Items: Recurse i.GetFolder :Next
 Set Items = Nothing
 End Sub
 | 
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 
 Last edited by Flasher on Sat Aug 03, 2019 06:51; edited 2 times in total
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 03:35    Post subject: |   |  
				| 
 |  
				| 1. Какие параметры? Пишет, в активной панели ничего не выбрано. Кстати, какой-то глюк с TCScript: если нажать в любое место TC пока видно всплывающее окно с этим сообщением, TC сворачивается. Так и должно быть?
 
 Добавлено спустя 5 минут:
 
 2. Возможно ли сделать так, чтобы окно "Выполнено" появлялось только при выполненной задаче, а не во всех случаях?
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 04:07    Post subject: |   |  
				| 
 |  
				| 1. Зачем спрашиваешь? Их нет. Забыл указать ещё одно условие: TC9+. У тебя какая версия? А ТС именно сворачивается? Или окно замерзает/пропадает? Глюка быть не должно, т.к. разблокировка стоит перед появлением. На 7 ничего такого не наблюдалось.
   
 2. Что ты называешь всеми случаями?
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 04:15    Post subject: |   |  
				| 
 |  
				| Последняя 8. С пустыми параметрами выдавал ошибку. Ну появляется окно другой программы.
 
 Ну когда изменение даты не происходит при не совпадении имён. То есть, когда выполнять нечего.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 04:36    Post subject: |   |  
				| 
 |  
				| На 8 нет смысла. По ныняшним меркам — каменный век. Окно какой программы? Идущее следом после верхнего?
 
 Ну, даже если совпадений нет, скрипт свою работу сделал, о чём и сигнализирует. И ты точно можешь понять, что процесс не висит, а работа скрипта окончена. Особенно актуально для рекурсии.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 04:53    Post subject: |   |  
				| 
 |  
				| Окно браузера Opera. А 9 - космический? Или ещё бронзовый? Смотрел, что там есть. Ничего такого, чтоб прям ах, прорыв.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 05:11    Post subject: |   |  
				| 
 |  
				| Т.е. браузер открывается, когда закрыт? 
 Насчёт второго скрипта. Могу сделать, чтобы окно не появлялось в случае полного несовпадения, но без указания /r.
 
 
   Век ТСПока — серебряный. Там не прорыв, конечно, но исправлена куча древних багов, а также улучшен поиск (отдельный процесс, мегаскорость/опции с Everything), расширена оцветовка элементов, появились стили оформления с автовыбором (аля TwinKey), масштабирование диалогов по DPI, вертикальный бар, поддержка 7-zip, ряд нужных ini-ключей и пользовательских команд, в т.ч. полезных для автоматизации и применяемых в ряде здешних скриптов и кнопок._________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 05:17    Post subject: |   |  
				| 
 |  
				| Нет, открыт. Ещё бы он самостоятельно программы запускал. Это уж точно был бы прорыв. Если бы, конечно, читал мысли и знал, что запускать. 
 Ладно, обойдусь пока без 1-го скрипта. Потом как-нибудь когда можно будет сразу шагнуть в золотой.
 Спасибо.
 
 Со вторым сделай без всплывающего окна. Рекурсией всё равно если буду пользоваться, то редко.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 05:34    Post subject: |   |  
				| 
 |  
				| И что же  тут прорывного? В куче скриптов программы как запускали, так и будут запускать. Я спросил "Идущее следом после верхнего?", а в ответ вместо "да" получаю константу: "Окно браузера Opera.". Может, глюк Internet.HHCtrl, мне откуда знать. 	  | Dimsok wrote: |  	  | Ещё бы он самостоятельно программы запускал. Это уж точно был бы прорыв. | 
 
 
 А моё зря потраченное время кто оплатит? Я мог бы упростить и под 8-ку, но теперь уже откровенно лень... 	  | Dimsok wrote: |  	  | Ладно, обойдусь пока без 1-го скрипта. | 
 
 
 Вообще? А как ты узнаешь, что скрипт сработал? Будешь  сортировать по дате или полезешь смотреть в свойства файлов? 	  | Dimsok wrote: |  	  | Со вторым сделай без всплывающего окна. | 
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Dimsok 
 
 
 Joined: 17 Aug 2014
 Posts: 663
 
 
 | 
			
				|  (Separately) Posted: Sat Aug 03, 2019 06:06    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | И что же  тут прорывного? В куче скриптов программы как запускали, так и будут запускать | 
 Телепатические?
 
 
 Ну так, как ты предположил - в случае несовпадения. Да и зачем куда-то лезть, когда колонка со временем вроде бы имеется.
 |  |  
		| Back to top |  |  
		|  |  
		|  |  
  
	| 
 
 | You cannot post new topics in this forum You cannot reply to topics in this forum
 You cannot edit your posts in this forum
 You cannot delete your posts in this forum
 You cannot vote in polls in this forum
 
 |  
 Powered by phpBB © 2001, 2005 phpBB Group
 
 |