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 

Single Post  Topic: Синхронизация дат создания и изменения по более ранней 
Author Message
LonerD



PostPosted: Mon Dec 09, 2019 16:54    Post subject: Reply with quote

Вот такой скрипт на 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-α
View user's profile Send private message Visit poster's website ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group