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 

Изменение даты нескольких файлов с разницей в секунду

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
nLnoOm



Joined: 22 Jun 2020
Posts: 2

Post (Separately) Posted: Mon Jun 22, 2020 02:03    Post subject: Изменение даты нескольких файлов с разницей в секунду Reply with quote

Здравствуйте все. Часто использую в Total Commander функцию "изменения атрибутов файла", меняю дату последнего изменения. Но когда выделяешь сразу несколько файлов и меняешь их дату, то она у всех становится одинаковая, а мне хотелось бы, чтобы она отличалась хотя бы на одну секунду.
То есть, к примеру, чтобы у 1.jpg была дата последнего изменения 22 ‎июня ‎2020 ‎г., ‏‎0:04:53, у 2.jpg 22 ‎июня ‎2020 ‎г., ‏‎0:04:54, у 3.jpg 22 ‎июня ‎2020 ‎г., ‏‎0:04:55, у 4.jpg 22 ‎июня ‎2020 ‎г., ‏‎0:04:56 и так далее. Как это можно сделать? Вручную не вариант.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Jun 22, 2020 05:24    Post subject: Reply with quote

Code:
'=============================== VBS ===============================
' Установка даты модификации файлов с пошаговым изменением интервала
'
' Параметры: %WL <интервал> [-]<число интервалов> [/d]
' Примеры:   %WL s 1 /d  |  %WL n -5
'
' /d — ввод даты/времени в диалоге, иначе будут использованы текущие
' Интервал принимает следующие значения:  s - секунда
'                                         n - минута
'                                         h - час
'                                         d - день
'                                         ww - неделя
'                                         m - месяц
'                                         q - квартал
'                                         yyyy - год
'============================================== Автор: Flasher © ===
Option Explicit : Dim A, D, Y, List, Desc, F, c, Ins
Set A = WSH.Arguments : If A.Count = 0 Then WSH.Quit
D = Now : c = 0 : If A.Named.Exists("d") Then InputB
Set List = CreateObject("Scripting.FileSystemObject").OpenTextFile(A(0),,,-1)
Set Desc = CreateObject("Shell.Application").NameSpace(0)
Do: F = List.ReadLine
  If Right(F, 1) <> "\" Then Desc.ParseName(F)._
  ModifyDate = DateAdd(A(1), c, D) : c = c + A(2)
Loop Until List.AtEndOfStream : List.Close
Set List = Nothing : Set Desc = Nothing

Sub InputB
  Dim i, n, x
  For Each i in Split("sсекунд a ы |nминут a ы |hчас  а ов|dд ень " &_
  "ня ней|wнедел я и ь|mмесяц  а ев|qквартал  а ов|y год года лет", "|")
    If Left(i, 1) = Left(A(1), 1) Then i = Mid(i, 2) : Exit For
  Next
  n = Abs(Right(A(2), 2)) : x = Right(n, 1) : If x = 0 Or (n > 10 And _
  n < 21 Or x > 4 And x < 10) Then n = 3 Else If x = 1 Then n = 1 Else n = 2
  With CreateObject("htmlfile")
    Y = 96/.Parentwindow.Screen.deviceYDpi
    Y = 15*Y*(.Parentwindow.Screen.Height-188*Y)/2
  End With
  Do: D = Trim(InputBox(vbCr & "Интервал:" & vbTab & A(2) & " " &_
    Split(i)(0) & Split(i)(n) & vbCr & vbCr & Ins & vbCr & vbCr &_
    "Введите исходную дату и время:", " Установка дат модификации файлов", D,, Y))
    If D = "" Then WSH.Quit
    If Not IsDate(D) Then Ins = Space(18) & "Ошибка ввода!" Else Exit Do
  Loop
End Sub

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


Last edited by Flasher on Tue Jun 23, 2020 13:21; edited 2 times in total
Back to top
View user's profile Send private message
nLnoOm



Joined: 22 Jun 2020
Posts: 2

Post (Separately) Posted: Mon Jun 22, 2020 21:29    Post subject: Reply with quote

Flasher, то что нужно, спасибо.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Jun 23, 2020 01:05    Post subject: Reply with quote

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



Joined: 04 Jul 2020
Posts: 1

Post (Separately) Posted: Sat Jul 04, 2020 02:46    Post subject: Reply with quote

Спасибо за код. Хотелось бы еще узнать, каким образом он вообще внедряется??

Last edited by Luserok on Fri Jul 31, 2020 23:50; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sat Jul 04, 2020 06:35    Post subject: Reply with quote

Luserok
Памятка по скриптам для этого подфорума обязательна к прочтению новичками. Вот там и узнайте.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
griha09



Joined: 27 Oct 2011
Posts: 9

Post (Separately) Posted: Tue Dec 01, 2020 22:54    Post subject: Reply with quote

Flasher, не подскажите какой файл требует ваш скрипт?
В папке в фотками jpg запускаю ваш скрипт с параметрами:
скрипт.vbs %WL s 1 /d
выходит запрос с вводом времени
ОК
появляется ошибка
ошибка:Файл не найден код:800A0035
ругается на строку Set List = CreateObject("Scripting.FileSystemObject").OpenTextFile(A(0),,,-1)
т.е. отсутствует какой-то текстовый файл.
Какой файл требует ваш скрипт?

с параметрами скрипт.vbs %WL n -5 та же самая ошибка
Back to top
View user's profile Send private message
Parazit



Joined: 16 Nov 2016
Posts: 25
Location: Россия

Post (Separately) Posted: Wed Dec 02, 2020 03:56    Post subject: Reply with quote

Вот такие надо параметры.
Code:
%WL s 1 /d


А не такие.

Code:
скрипт.vbs %WL s 1 /d
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Wed Dec 02, 2020 09:06    Post subject: Reply with quote

griha09
Ранее вы о необходимости освоить поиск по форуму предупреждались неоднократно, результатов так и не видно. Даже текущую тему из одной страницы как следует не читаете. Скрипт требует прежде всего внимательного прочтения прикреплённой к этому подфоруму памятки и точного следования тому, что там написано ( в т.ч. в пп. 3-5 общих рекомендаций). Ссылка на ту же памятку дана и ровно перед вашим сообщением.

Замечание за нарушение правил форума.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
griha09



Joined: 27 Oct 2011
Posts: 9

Post (Separately) Posted: Wed Dec 02, 2020 12:51    Post subject: Reply with quote

Извиняюсь, по привычке, тестировал без создания кнопки (из командной строки).
Чтоб избежать лишних вопросов, в описание скрипта надо добавить :
"Перед применением скрипта изменяемые файлы нужно выделить"
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Wed Dec 02, 2020 13:13    Post subject: Reply with quote

griha09
Подобные добавления не нужны ни в этом, ни в иных скриптах, поскольку здравый смысл ещё никто не отменял: несколько файлов могут быть обработаны только с предварительным их выделением, а для одного файла такая задача не нужна. Про это выделение как исходное условие говорилось в запросе на скрипт, оно же подразумевается и стандартными параметрами типа %WL.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
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
Page 1 of 1

 
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