Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Автоматизация переноса атрибутов и времени изменения файлов
Goto page Previous  1, 2, 3 ... 8, 9, 10, 11  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sun Nov 13, 2016 19:47    Post subject: Reply with quote

Quote:
Помню, что сохранял себе, но не нашёл. А в чём задача?

Переносить дату модификации с одного файла на другой. С твоим скриптом для уникодных имён не работает, а с этой программкой я так понял возможно при определённых ограничениях.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Nov 13, 2016 20:21    Post subject: Reply with quote

Code:
'============================ VBS =============================
' Присвоение файлу даты модификации другого файла
' Параметры: "<путь файла-источника>" "<путь файла-получателя>"
' Пример: %V %T%M
'==============================================================
With CreateObject("Shell.Application").NameSpace(0)
  .ParseName(WScript.Arguments(1)).ModifyDate =_
  .ParseName(WScript.Arguments(0)).ModifyDate
End With

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Sun Nov 13, 2016 21:21    Post subject: Reply with quote

Dimsok wrote:
Ни у кого нет в наличии?

Выложил.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sun Nov 13, 2016 22:31    Post subject: Reply with quote

Flasher, sa
Спасибо.
Back to top
View user's profile Send private message
helb



Joined: 08 Oct 2014
Posts: 57

Post (Separately) Posted: Tue Nov 22, 2016 16:06    Post subject: Reply with quote

Тоже в тему, выкладывал такое раньше:
Копирование/вставка (Copy & Paste) атрибутов/времен файлов
Unicode, файлы/папки, рекурсия. Работает как обычный copy-paste, для одного объекта вообще на 100% интуитивно.
Back to top
View user's profile Send private message
Александр Дружинин



Joined: 06 Dec 2016
Posts: 1

Post (Separately) Posted: Tue Dec 06, 2016 15:00    Post subject: Reply with quote

Отличная утилита, давно искал подобную. Спасибо очень помогли.
_________________
Александр Иванович Дружинин
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Jan 18, 2017 14:11    Post subject: Reply with quote

http://forum.wincmd.ru/viewpost.php?p=95357

С параметром "1" (Время создания) не работает, а с "4" работает (Время создания+Дата модификации).
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 19:35    Post subject: Reply with quote

Могу такой скрипт с поддержкой Юникода предложить:
Code:
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
' Изменение дат и времени выбранных файлов и папок одной панели на дату и время
' элемента другой панели с возможностью рекурсивной обработки содержимого папок

' Условие: необходим компонент TCScript.dll

' Параметры: %d <актив./пассив. панель: A/P> <индекс замены> <флаг рекурсии: 1>
' Выбор панели определяет, где будет находиться текущий объект-источник.
' Соответственно, в другой панели должны быть выбраны изменяемые объекты.

' Индекс замены принимает следующие значения:
' 1 - даты создания
' 2 - даты модификации
' 3 - даты последнего открытия
' 4 - даты создания и модификации
' 5 - даты создания и последнего открытия
' 6 - даты модификации и последнего открытия
' 7 - даты модификации, создания и последнего открытия

' Примеры параметров:  %d P 2   |  %d A 7   |  %d P 4 1
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Автор: Flasher © •••

Option Explicit
Dim Title, C, Panel, Count, Rec, FSO, TCH, F, List, DC, DM, DA, D, T
With WSH.Arguments
  Title = " Изменение атрибутов": C = .Count: If C = 0 Then WSH.Quit
  Panel = .Item(1) : Count = .Item(2) : If C = 4 Then Rec = .Item(3)
End With : If Not IsNumeric(Count) Or (Count < 1 Or Count > 7) Then _
MsgBox "Недопустимый индекс замены!"&vbCr&vbCr&"Смотрите описание.",_
4144, Space(30) & "Ошибка", Title : WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCH = CreateObject("TCScript.Helper") : TCH.Pause = 0
Select Case Panel
  Case "A" F = TCH.GetSrcPath    & TCH.GetInfo("SN") : List = TCH.GetTrgSelectedFiles(1)
  Case "P" F = TCH.GetInfo("TP") & TCH.GetInfo("TN") : List = TCH.GetSrcSelectedFiles(1)
End Select : If F = "" Or Right(F, 1) = "\" Then WSH.Quit
If FSO.FileExists(F) Then Set F = FSO.GetFile(F) Else Set F = FSO.GetFolder(F)
If InStr("1457", Count) Then DC = "CDate(""" & F.DateCreated & """)"
If InStr("2467", Count) Then DM = ",""" & F.DateLastModified & """"
If InStr("3567", Count) Then DA = ",""" & F.DateLastAccessed & """"
If IsEmpty(DM) And Len(DA) Then DA = "," & DA
D = DC & DM & DA : Set F = Nothing
For Each F In List
  If FSO.FolderExists(F) Then
    FFile F : If Rec = 1 Then T = 1 : Set F = FSO.GetFolder(F) : FFolder F
  ElseIf FSO.FileExists(F) Then FFile F End If
Next
With CreateObject("WScript.Shell")
  If T Then .Popup "  Выполнено!", 2, Title & "      ", 4160 Else .SendKeys "^r"
End With

Sub FFolder(Fd)
  For Each Fl In Fd.Files : FFile Fl : Next
  Dim Fl : For Each Fl In Fd.SubFolders : FFile Fl : FFolder Fl : Next
End Sub : Sub FFile(I) : Execute "TCH.SetFileDateAtr CStr(I)," & D End Sub

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Wed Jan 18, 2017 21:51; edited 3 times in total
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Jan 18, 2017 20:05    Post subject: Reply with quote

TCHelper.dll это не то же самое, что TCWSHelp.exe?
TCWSHelp.exe установлен, выдаёт ошибку Line 34 Char 13 Error "Object doesn't support this property of method: 'Getinfo'.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 20:06    Post subject: Reply with quote

Нет, не то же. TCScript.dll точнее. Ранее не замечал, что описался.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Jan 18, 2017 20:24    Post subject: Reply with quote

Чего-то не пойму, надо манифесты создавать, или достаточно скачать готовую сборку? И если второе, то куда это скопировать?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 20:27    Post subject: Reply with quote

См. 1, 2 и 7.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Jan 18, 2017 20:48    Post subject: Reply with quote

Тут тоже не работает с параметром "1"

И можно сделать, чтобы молча всё делалось?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 20:59    Post subject: Reply with quote

Шапку внимательно смотрел? Молча - без Popup? Это для рекурсии.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Jan 18, 2017 21:08    Post subject: Reply with quote

%d P 2 - Меняет дату модификации с popup.
%d P 1 - Разве не должно менять дату создания?

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

И какая разница между %d P 2 и %d P 2 1. Во втором случае и должна включаться эта самая рекурсия? У меня никакой разницы между ними.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 8, 9, 10, 11  Next
Page 9 of 11

 
Jump to:  
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