DonationCoder.com forum
 
Read-only archive. This is a static copy of the DonationCoder.com forum. Reading and searching work as before; logging in, posting and private messages do not.
Archive of 2026-10-21 · About this archive · Main site

Author Topic: FARRCloneWithDatestamp -- FARR helper tool to make datestamped copy of a file  (Read 16,118 times)

Nod5

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,175
    • Coding Snacks
    • Participated in NANY Challenge Three Times
    • Plugin Coding Medal
FARRCloneWithDatestamp is a FARR helper tool to make a datestamped copy of a currently selected file in Explorer. The copy is placed in the same folder.

Have you ever done ctrl+C ctrl+V on a file and then edited its name, perhaps added a datestamp in order to keep track of which copy is more recent than the others? Then this might just be a tool for you.  :)

Setup:
1 paste the code into a text editor and save as FARRCloneWithDatestamp.ahk and then compile it (you need http://ahkscript.org/ for that).
2 store the compiled FARRCloneWithDatestamp.exe in some folder
3 create a FARR alias like this

alias name:
Code
clone
regex pattern:
Code
^(clo|clon|clone)$
result box:
Code
Clone selected with datestamp | C:\some\folder\FARRCloneWithDatestamp.exe %LASTHWND%

To use it open Explorer and select a file you want to create a clone of. Press your FARR hotkey, type "clo" and when the alias shows press enter.
Next to your "file.txt" you should now see "file -- 20151213092801.txt" .

Code
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance force

x = %1%  ;hwnd parameter from FARR  

;FARRCloneWithDatestamp -- a helper tool for FARR
;what it does: 
;focus the window that matches input parameter hwnd
;if explorer window: get selected files, parse first file
;make a copy of "file.ext" as 
;"file -- [datestamp yyyymmddhhmmss].ext" in the same folder
;report status, exit

if x = 
 exitapp
WinGetClass, xclass, ahk_id %x%
if xclass != CabinetWClass  ;exit if not Explorer win
 exitapp
WinActivate, ahk_id %x%, 
ifwinNotactive, ahk_id %x%
 exitapp

clip := ClipBoardAll 
clipboard =
send ^c   ;copy
clipwait, 2 
if errorlevel != 0
 exitapp

Loop, Parse, clipboard, `n, `r
{
p := a_loopfield		;first file in selection
break
}
clipboard := clip ;restore

if InStr( FileExist(p), "D")
 exitapp
splitpath, p, pname,pdir,pext,pnoext
FileCopy, %p%, %pdir%\%pnoext% -- %A_now%.%pext%
if !Errorlevel 
 tooltip, Clone %pdir%\%pnoext% -- %A_now%.%pext% created
else
 tooltip, ERROR. Failed to clone %pname%
sleep 2000
exitapp

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,931
    • Gathering Badge
    • Plugin Coding Medal
    • Participated in NANY Challenge Seventeen Times
    • Cody Award
    • Coding Snacks
    • Volunteers/Staff
Thank you for sharing this Nod5,  :Thmbsup:

Original address: https://www.donationcoder.com/forum/index.php?topic=42019.0