View previous topic :: View next topic |
Author |
Message |
ant
Joined: 13 Jun 2019 Posts: 11
|
(Separately) Posted: Sun Dec 08, 2019 15:15 Post subject: Синхронизация дат создания и изменения по более ранней |
|
|
Здравствуйте, имеется на ПК папка со множеством ХТМЛ-файлов, разложеных по подпапкам. В ихних атрибутах неразбериха: то дата создания раньше, то дата изменения.
Мне нужно: во всех файлах привести оба значения по раньшему. Как это сделать?
- Если выделяю результаты поиска, то в атрибутах нужно задать какое-то значение, либо взять от другого. Но как сделать, чтобы Тотал-командер сравнил, и задал раньшее значение в поздний атрибут?
Т.е. чтобы в итоге оба были одинаковы по дате. Или это достигнется только хитрым бат-файлом? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Dec 08, 2019 16:02 Post subject: |
|
|
ant
Стандартным средствами TC — никак. Можно, конечно для любого набора файлов заменить (с плагином tc через диалог "Изменение атрибутов") дату/время создания на дату/время изменения — или наоборот. Но делать то или другое одним процессом, автоматически прикидывая зависимость от того, что там где раньше... не уверен, что даже в средствах автоматизации добиться этого легко. Впрочем, пусть специалисты судят.
Зачем вообще понадобилась подобная синхронизация дат и и что плохого в нынешнем состоянии, мне непонятно, но ваши прихоти — ваше дело.
И пара слов для сведения. Во-первых, в русском языке есть понятие "более ранний" а слово "раньший" отсутствует. Во-вторых, слово "дата" — женского рода, и "раньшим", как вы выражаетесь, она быть не может.
Тема перенесена в "Автоматизацию". Прежний заголовок "дату создания и дату изменения - привести к раньшему" приведён к более пристойному состоянию как по форме, так и по содержанию. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия.
Last edited by Avada on Sun Dec 08, 2019 16:11; edited 1 time in total |
|
Back to top |
|
|
ant
Joined: 13 Jun 2019 Posts: 11
|
(Separately) Posted: Sun Dec 08, 2019 16:10 Post subject: |
|
|
Avada, спасибо за ответ; но у нас разное словоупотребление в речи.
Эта потребность возникла потому, что в разных папках файлы одинаковой тематики, и мне нужно их собрать правильно, исходя из ранней даты. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Dec 08, 2019 16:14 Post subject: |
|
|
ant
У нас не разное словоупотребление, а у меня реальное, а у вас несуществующее в языке. Филологические дискуссии предлагаю на этом закончить. А причины постановки задачи, как было сказано, лично меня не особо интересуют. Нужно — ждите ответа. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Mon Dec 09, 2019 16:54 Post subject: |
|
|
Вот такой скрипт на AutoHotkey навырисовывался.
Команда запуска: "Path_to_AHK\AutoHotkey.exe" "Path_to_script\Script.ahk"
Параметр: %WL
Выделить нужные файлы и каталоги, запустить скрипт. Обработаются в том числе рекурсивно файлы в выделенных каталогах.
Даты самих каталогов не модифицируются.
Советую предварительно попробовать работу скрипта на ненужных файлах, а то мало ли...
Code: | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; Total Commander DreamLair ;
; Script: Sync Creation and Modification times ;
; (new time = earlier time) ;
; Script version: 1.0 (2019.12.09) ;
; Script author: LonerD (Made in DPR) ;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; Parameter: ;
; 1: %WL ( required ) ;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
#NoEnv
#NoTrayIcon
#SingleInstance ignore
SetKeyDelay, 20, 20
if not ( WinExist("ahk_class TTOTAL_CMD") || WinActive("ahk_class TTOTAL_CMD") )
ExitApp
if 0 < 1
ExitApp
Target = %1%
FilelistV =
Loop, Read, % Target
{
FilelistV := FilelistV . A_LoopReadLine . "`r`n"
if InStr(FileExist(A_LoopReadLine), "D")
Loop, Files, %A_LoopReadLine%*.*, FDR
FilelistV := FilelistV . A_LoopFileFullPath . "`r`n"
}
Loop, Parse, % FilelistV, `n, `r
{
if InStr(FileExist(A_LoopField), "D")
Continue
FileGetTime, CreDate , % A_LoopField, C
FileGetTime, ModDate , % A_LoopField, M
NewDate := CreDate > ModDate ? ModDate : CreDate
FileSetTime, % NewDate, % A_LoopField, C, 0, 0
FileSetTime, % NewDate, % A_LoopField, M, 0, 0
}
FilelistV =
ExitApp
|
_________________ Windows 11 | TC DreamLair eternal pre-α |
|
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
|