View previous topic :: View next topic |
Author |
Message |
nLnoOm
Joined: 22 Jun 2020 Posts: 2
|
(Separately) Posted: Mon Jun 22, 2020 02:03 Post subject: Изменение даты нескольких файлов с разницей в секунду |
|
|
Здравствуйте все. Часто использую в 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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 22, 2020 05:24 Post subject: |
|
|
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 |
|
 |
nLnoOm
Joined: 22 Jun 2020 Posts: 2
|
(Separately) Posted: Mon Jun 22, 2020 21:29 Post subject: |
|
|
Flasher, то что нужно, спасибо. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 23, 2020 01:05 Post subject: |
|
|
nLnoOm
Пож-та. Всё-таки решил добавить отображение заданного интервала в окошке, чтобы не путаться. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Luserok
Joined: 04 Jul 2020 Posts: 1
|
(Separately) Posted: Sat Jul 04, 2020 02:46 Post subject: |
|
|
Спасибо за код. Хотелось бы еще узнать, каким образом он вообще внедряется??
Last edited by Luserok on Fri Jul 31, 2020 23:50; edited 1 time in total |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10409 Location: Россия, Саратов
|
(Separately) Posted: Sat Jul 04, 2020 06:35 Post subject: |
|
|
Luserok
Памятка по скриптам для этого подфорума обязательна к прочтению новичками. Вот там и узнайте. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
griha09
Joined: 27 Oct 2011 Posts: 9
|
(Separately) Posted: Tue Dec 01, 2020 22:54 Post subject: |
|
|
Flasher, не подскажите какой файл требует ваш скрипт?
В папке в фотками jpg запускаю ваш скрипт с параметрами:
скрипт.vbs %WL s 1 /d
выходит запрос с вводом времени
ОК
появляется ошибка
ошибка:Файл не найден код:800A0035
ругается на строку Set List = CreateObject("Scripting.FileSystemObject").OpenTextFile(A(0),,,-1)
т.е. отсутствует какой-то текстовый файл.
Какой файл требует ваш скрипт?
с параметрами скрипт.vbs %WL n -5 та же самая ошибка |
|
Back to top |
|
 |
Parazit

Joined: 16 Nov 2016 Posts: 25 Location: Россия
|
(Separately) Posted: Wed Dec 02, 2020 03:56 Post subject: |
|
|
Вот такие надо параметры.
А не такие.
Code: | скрипт.vbs %WL s 1 /d |
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10409 Location: Россия, Саратов
|
(Separately) Posted: Wed Dec 02, 2020 09:06 Post subject: |
|
|
griha09
Ранее вы о необходимости освоить поиск по форуму предупреждались неоднократно, результатов так и не видно. Даже текущую тему из одной страницы как следует не читаете. Скрипт требует прежде всего внимательного прочтения прикреплённой к этому подфоруму памятки и точного следования тому, что там написано ( в т.ч. в пп. 3-5 общих рекомендаций). Ссылка на ту же памятку дана и ровно перед вашим сообщением.
Замечание за нарушение правил форума. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
griha09
Joined: 27 Oct 2011 Posts: 9
|
(Separately) Posted: Wed Dec 02, 2020 12:51 Post subject: |
|
|
Извиняюсь, по привычке, тестировал без создания кнопки (из командной строки).
Чтоб избежать лишних вопросов, в описание скрипта надо добавить :
"Перед применением скрипта изменяемые файлы нужно выделить" |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10409 Location: Россия, Саратов
|
(Separately) Posted: Wed Dec 02, 2020 13:13 Post subject: |
|
|
griha09
Подобные добавления не нужны ни в этом, ни в иных скриптах, поскольку здравый смысл ещё никто не отменял: несколько файлов могут быть обработаны только с предварительным их выделением, а для одного файла такая задача не нужна. Про это выделение как исходное условие говорилось в запросе на скрипт, оно же подразумевается и стандартными параметрами типа %WL. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
|