Download the Plugin SDK - supports C++, Delphi, Javascript, Python, C# and other .net

HELP AND ASSISTANCE:

Latest Forum Posts

Addons for the Find and Run Robot Program

This page collects addons for the Find and Run Robot program that have been posted on our forum over the years. Click a link to go to the forum thread discussing the addon and download.

[1] 2 3 4 5 6 ... 13next

AutoHotkey template to act on selected files in active Explorer window

blog clipart
AutoHotkey script template to take action on selected files in active File Explorer window in Windows 10.

Background
FARR can find and launch files, but also do much more. This AutoHotkey script template helps you use FARR to quickly take action on selected files in the active Explorer window. Similar to a context menu action in Explorer, but started from a FARR alias.

AutoHotkey script template
Code: Autohotkey [Select]
  1. SetWorkingDir %A_ScriptDir%
  2.  
  3. ; Template: take action on selected files in active Explorer window
  4. ; - AutoHotkey helper script template for FindAndRunRobot (FARR)
  5. ; - by Nod5 2020-04-25
  6.  
  7. ; Get active the window's handle (Hwnd) from parameter passed by FARR
  8. vHwnd := A_Args[1]
  9.  
  10. ; verify that the window is Explorer
  11. WinActivate, ahk_id %vHwnd%
  12. If !WinActive("ahk_class CabinetWClass ahk_id " vHwnd)
  13.  
  14. ; get filepaths for selected files
  15. aFiles := ExplorerHwndSelectedFilepaths(vHwnd)
  16.  
  17. ; ----------------------------------------------------
  18. ; add code to take action on the files here
  19.  
  20. ; example: show each filename in a messagebox popup
  21. For Key, vFile in aFiles
  22. {
  23.   SplitPath, vFile, vFilename
  24.   MsgBox % vFilename
  25. }
  26.  
  27. ; ----------------------------------------------------
  28.  
  29. ; exit script when finished
  30.  
  31.  
  32. ; required function
  33. ; function: ExplorerHwndSelectedFilepaths()
  34. ; return array of filepaths for selected files in Explorer window identified via HWND
  35. ExplorerHwndSelectedFilepaths(vHwnd)
  36. {
  37.   if !vHwnd or !WinExist("ahk_class CabinetWClass ahk_exe Explorer.exe ahk_id " vHwnd)
  38.     return
  39.   for window in ComObjCreate("Shell.Application").Windows
  40.   {
  41.     if (window.HWND != vHwnd)
  42.       continue
  43.     aFiles := []
  44.     sfv   := window.Document
  45.     ; note: gets items in alphanum ascending sort order
  46.     ; https://docs.microsoft.com/en-us/windows/desktop/shell/shellfolderview-selecteditems
  47.     items := sfv.SelectedItems
  48.     for item in items
  49.       aFiles.push(item.Path)
  50.     break
  51.   }
  52.   window := item := items := sfv := ""
  53.   return aFiles
  54. }

Preparation
Install AutoHotkey, https://www.autohotkey.com/

Create a new action
- Download the template to a file, for example "C:\some folder\timestamp action.ahk"
- Edit the template to add code for the action you want to perform on the selected files
- Create a FARR user alias to launch the script and pass the parameter %LASTHWND%

Example FARR alias
- alias keyword: timestamp now
- regular expression pattern: ^(stamp)$
- result: C:\some folder\timestamp action.ahk %LASTHWND%

Use the action
- Open Explorer and select some files
- Open FARR, type to show the alias action (for example "stamp") and press Enter.

Note
The regular expression pattern is optional in FARR aliases, but useful to more quickly get to a single result.
For max speed use short patterns like ^(sta|stam|stamp)$ to show only the alias result when you type "sta", "stam" or "stamp" but still let FARR show regular file search results if you continue typing for example "stamp collection".

Action example
Code: Autohotkey [Select]
  1. ; set "time modified" for the file to the current time
  2. For Key, vFile in aFiles
  3. {
  4.   FileSetTime, % A_Now, % vFile, M
  5. }


List of action ideas
- add to music/video app playlist
- copy to some other folder
- create file shortcuts in some other folder
- create a companion note file ("filename.jpg -- notes.txt")
- compare selected files in WinMerge
- scale image files 50%
- rotate image files 90 degrees
- change file date modified/created timestamp to current time
- create backup file copy with a timestamp suffix ("filename_20200423103546.txt")
(Useful for basic versioning when Git is overkill but you want some order to avoid a mess like "text.doc", "text2 final.doc", "text 2 final FIXED.doc")
- calculate and save file hashes (sha1, sha256, ...)

Ideas for more advanced actions
Asymmetric action on two selected files: copy/clone some feature (image size, timestamp, filename pattern, ...) from first file onto second file. For example clone a date modified timestamp.

Why use this rather than regular Explorer context menu actions?
- easy to create and use if you're already using FARR and AutoHotkey
- very quick if you set up short regex alias patterns
- quick to toggle aliases on/off
- you can add and show context/instructions to alias text to remind you what the action does
- avoid browsing a cluttered context menu



Example with screenshots
Use case: We want a quick way to to create .txt files to write notes about some files, for example some images.

1.png

Edit the template and add an action to create .txt note files. Save, for example to "C:\test\create txt note.ahk"

Code: Autohotkey [Select]
  1. ; create companion text file for notes
  2. For Key, vFile in aFiles
  3. {
  4.   FileAppend, , % vFile " -- notes.txt"
  5. }

Create a user alias in FARR

2.png

Select files in Explorer, Open FARR and use the alias

3.png

Text files are created.

4.png

Take important notes.

5.png


FARRCloneWithDatestamp -- FARR helper tool to make datestamped copy of a file

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:
clone
regex pattern:
^(clo|clon|clone)$
result box:
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" .

#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


FARRCloseSelProc -- FARR helper tool closes process matching selected filename

FARRCloseSelProc is a FARR helper tool that closes a process that matches the filename of the file that is selected in Explorer.

This is useful if you work on some code that you need to repeatedly compile, run and later close the process of before the next test run. But it can also be used to quickly close a process that you know the name of.

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

alias name:
proc close
regex pattern:
^proc(?: |)(.*|)$
result box:
CloseSelProc $$1| C:\some\folder\FARRCloseSelProc.exe $$1 %LASTHWND%

To use it open Explorer and select a file you want to close a matching process for. For example select the file program.exe if you want to close the process program.exe . Press your FARR hotkey, type "proc" and when the alias shows press enter.
To use it by typing a process name press your FARR hotkey, type "proc program.exe" and press enter.

Note:
- The typed process name must match exactly. It must not have any spaces in the name.
- If there are multiple processes with that name only the first one detected by autohotkey will be closed.

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance force

x = %1%  ;hwnd parameter from FARR or exact name of a process from FARR
y = %2%  ;hwnd (if first param is exact name)

;FARRCloseSelProc -- a helper tool for FARR
;This tool is made to be run from a FARR alias.

if x =
 exitapp
if y ;filename mode
 splitpath, x, pname,,pext
else ;HWND mode
{
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
break
}
clipboard := clip ;restore
if InStr( FileExist(p), "D")
 exitapp
splitpath, p, pname,,pext
}

if (pext != "exe")
 exitapp

Process, close, %pname%
Loop, 10
{
Process, Exist, %pname%
if errorlevel = 0
break
sleep 100
}
Process, Exist, %pname%
if errorlevel = 0
 tooltip, Closed process %pname%
else
 tooltip, ERROR. Process %pname% still running.
sleep 2000
exitapp


farr operamail  or fastmail plugin

operamail screenshot clean small.jpg
Hi,

my operamail (hosted at fastmail) plugin shows your in-box and allows you to compose and send emails.
 (it is a shamefull copy of the GoogleTasks javascript by rulfzid).

the default command/alias is
operamail
you have to login into the site as usual.  IE will remember your username and password.

Continue reading the rest of the entry and discuss..


farr gmail google mail plugin

Hi,

This is my third farr plugin. This time for gmail  (again modified from gtasks)
It allows you look at your inbox and to send emails in the popup window of FARR.

One of the advantages of a  mail plugin(s) is that you can use it in a popup window
while you are looking at another webpage in you browser.



Continue reading the rest of the entry and discuss..


farr yahoo mail plugin

screenshot yahoo mail plugin.jpg
Hi,

my yahoo mail plug in shows your yahoo in-box (it is a shamefull copy of the GoogleTasks javascript by rulfzid).

the default command is
yhm
you have to login into the yahoo site as usual.  Only Once if you allow IE to remember your username and password.


How to install:
Create subfolder yahoomail in folder Plugins of FARR main folder e.g. \FARR\plugins\yahoomail\
Put all 4 files from zipfile in that folder (fscript.dll, fscript.cfi, fscript.js, yahoomail.ico)
(do not put anything else in this folder!)
---

  • start FARR, go to options (Ctrl-O)
  • Program Options  >> Settings >> Plugins and Update
  • press button [ Click to Examine and configure Plugins..]
  • press [ Find and Reload all Plugins ]
  • press [OK]
  • <you can overrule the command yhm by another (available) alias>
  • press [Close]
  • press [Ok]

enjoy!

wjamoe
NL






Continue reading the rest of the entry and discuss..


[1] 2 3 4 5 6 ... 13next

Share on Facebook