avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • October 18, 2019, 08:03 PM
  • Proudly celebrating 13 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Nod5 [ switch to compact view ]

Pages: [1] 2 3 4next
Coding Snack request
a script/tool that auto creates .lnk shortcuts for all currently installed Windows Store Apps.

Users of Mouser's Find And Run Robot (FARR) requested an easy way to launch Windows Store Apps. The problem is that those apps do not create .lnk shortcut files FARR can find when searching files and folders. Users can manually create .lnk shortcuts one by one. But an automated method would be more user friendly. A standalone tool could also be useful for people who don't use FARR.

Research done

1. syntax for .lnk shortcuts to Windows Store Apps

Windows Store Apps can  be run from .lnk shortcuts with a target that has this format
explorer.exe shell:Appsfolder\<AUMID>
where AUMID (Application User Model ID) is a special string for each app.
For example on my PC we can launch Windows Calculator with
explorer.exe shell:Appsfolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App

2. Powershell command to get a list of AUMID
The Powershell command
returns a list with an App name and its associated App AUMID on each line.
More details here https://docs.microso...-of-an-installed-app

3. Making .lnk shortcuts programmatically
AutoHotkey has the command FileCreateShortcut, https://autohotkey.c...leCreateShortcut.htm

What has already been tried
I didn't find a working way to use AutoHotkey to run Powershell with the get-StartApps command and output the resulting list to a .txt file.
I get this error
'get-StartApps' is not recognized as the name of a cmdlet

Instead of banging my non-powershell experienced head more against powershell error message walls, perhaps someone else here can think of a quick fix or different solution, using AutoHotkey, Powershell or some other method?  :)

AutoHotkey script to make Tab button toggle folders search on/off in FARR by adding/removing +\ to the searchbox.

Code: Autohotkey [Select]
  2. ;FARR helper script
  3. ;by nod5 181119
  4. ;Press Tab to toggle search only folders
  5. ;Note: Overrides FARR default Tab autocomplete hotkey
  7. #IfWinActive, ahk_exe FindAndRunRobot.exe
  8. Tab::
  9. ControlGetText, farr, TEdit1, ahk_exe FindAndRunRobot.exe
  10. farr := InStr(farr, "+\") ? StrReplace(farr, "+\", "") : farr " +\"
  11. ControlSetText, Tedit1, % farr, ahk_exe FindAndRunRobot.exe
  12. return

FARR's default Tab shortcut autocompletes the selected results full path into the search box.

I never have use for that but often want to temporarily limit searches to folders only and pressing Tab (with this script running) is quicker than typing or removing +\ in the searchbox.

N.A.N.Y. idea: file modification monitor and alert tool.

A Windows version of Marvin ( ) but with fewer features. Only daily or manually started checks (not realtime), only local notifications (not email/push).

Perhaps simply an AutoHotkey script that makes use of Everything's database and command line tool ( https://www.voidtool...mand_line_interface/ ) to check for changes to a user specified list of files/folders.

Useful as a safety precaution when using non-versioning, mirroring only backup tools like Bvckup2 ( ).

Before each backup job, check for unwanted modifications to files/folders on the monitoring list. A scheduled task for daily backups could first run the modification check tool and take conditional action: if no changes to files on the monitoring list then perform backup, else alert the user and postpone backup until manual confirmation.

For example if you accidentally and unknowlingly delete an important folder (on your monitoring list) in Explorer this tool would halt/alert you before you run a mirroring backup job that would delete the important folder also from the backup drive.

Request: add option that makes the launch and stay open command retain focus on whatever the keyboard input was before, including selection of one item in the results list.

Ctrl+doubleclick currently does that already.

But ctrl+Enter and the context menu command "launch and stay open" doesn't. They force focus to the searchbox.

FARR has the special string that lets us import one or more alias results line from a file. For example an alias can put the below string in the alias results setup and whatever is in C:\a.txt will be included in the results when a matching search is done.

Code: Text [Select]
  1. #filecontents C:\a.txt

But if the file is not found FARR instead shows this error message
Code: Text [Select]
  1. a.txt) --> file not found
  2. Error processing alias contents: C:\a.txt(C:\

Request: if the file isn't found FARR should simply ignore that line in the alias results instruction.

DC Member Programs and Projects / BigTimer
« on: April 15, 2018, 04:29 PM »
This is the new discussion/feedback thread for BigTimer


An unwanted scrollbar appear for regex aliases with only one result. The scrollbar shows only for the first matching character and disappears after the next character.


Reproduce the issue with this alias (temporary disable any other alias with the same regex pattern)

alias:      bar
regex:    ^(ba|bar)$
results:   test | C:\

The issue only occurs for single result aliases. If we update the alias with a second result line then the scrollbar never shows

Tested in FARR v2.233.01 and v2.229.01 in Windows 10. I tested changing some visual settings (disable skin, resize fonts, ...) but the issue persists. I might have missed something though.

Request 1: add a method to silently reload all aliases from .alias files

Request 2: add a FARR alias reload method that also updates the disabled/enabled status for each alias based on if it has the Disabled element in the .alias file.

These changes would enable users to script changes directly to .alias files and then quickly and silently apply them.

The FARR special search string "goareload" reloads/updates aliases from .alias files. But not silently since after the reload it forces the "agroups" command that show all aliases as a list in FARR results. For request 1 make a new special search string "goareload_silent" that differ only in that it does not force "agroups".

The least visible workaround I've found to reload aliases from file:
1. FindAndRunRobot.exe -search goareload
2. FindAndRunRobot.exe -hide
But the FARR window still flickers briefly and sometimes the -hide command fail when scripting these steps (timing issues)

We can also reload aliases from file with the exit and restart method:
1. FindAndRunRobot.exe -exit
2. script changes to .alias file
3. FindAndRunRobot.exe -hide
Advantage over "goareload": No results window flickering. Drawback: FARR restart can make this method slower.
Edit end

Request 2 is because FARR's "goareload" command ignores "<Disabled>" elements in the .alias files. Disabled/enabled status is instead ruled by the FindAndRunRobot.ini line DisabledAliasStrings . In other words having a script add the line "<Disabled>true</Disabled>" to an .alias file AliasEntry section has no effect even though all other changes to .alias file elements are applied by "goareload".

The least visible workaround I've found to modify Disabled/Enabled status of aliases:
1. FindAndRunRobot.exe -exit
2. have a script read, modify and overwrite the string for DisabledAliasStrings in FindAndRunRobot.ini
3. FindAndRunRobot.exe -hide

But that can take several seconds and is sensitive to timing issues.

Request 2 could be done as a separate special search string. Or a FARR setting to toggle authority over disabled/enabled status between .ini and .alias files. Or a combo special search string that for both request 1 and 2, e.g. "goareload_silent_alsodisabledstatus".

Request: add a keyboard shortcut to run the context menu "Explore here" command that opens the selected file's folder in Explorer. I suggest ctrl+o as in Open. The context menu's "Explore here" works on all files including local .url files.

With AutoHotkey we can achieve this for most files by using FARR's control+C shortcut to copy a file's full path.
But that does not work on local .url files since for them FARR's ctrl+C copies the URL rather than the full path to the local file.
A non perfect workaround sends keys to open the context menu.

Code: Autohotkey [Select]
  1. ;control+o to open folder for selected file in FARR
  2. #IfWinActive, ahk_exe FindAndRunRobot.exe
  3. ^o::
  4. ControlGetFocus, cFocus, A
  5. if (cFocus == "TNextGrid1")
  6. {
  7.   send ^c
  8.   SplitPath, clipboard, , dir
  9.   If InStr( FileExist(dir) , "D")
  10.     Run % dir
  11.   ;workaround for .url files where FARR's ctrl+C return the URL
  12.   ;limitation: the context menu briefly flashes and send keys may fail
  13.   Else If InStr(clipboard, "://")
  14.   {
  15.     send +{AppsKey}
  16.     send e
  17.   }
  18. }
  19. return

edit: clarified and added workaround in the AutoHotkey script

Imagine a user has these two aliases and one search directory item in FARR.

Alias1 (example of regex to get a single static result)
text: a
regex: ^a$
result: C:\folder\app.exe

Alias2 (example of regular expression aliases as search templates)
text: cdir
regex: ^(?:c|cd|cdi|cdir) (.+)$
result: dosearch +cdir $$1

Search Directory item
directory path: C:\cdir
optional modifier keywords: cdir

Problem case
The user types "c a" and want as result the list of files/folder in C:\cdir that contain "a".
But instead the result is "C:\folder\app.exe" . Because Alias1 is triggered by the new "a" search and since it is a regex alias it gets priority.

Collisions like that increase the more aliases of these two sorts one has. A pity since both sorts of aliases are useful.

Request for solution
Add a new virtual launch string named dosearch_noregex to FARR.
dosearch_noregex would start a new search but ignore all alias regex matches.

filter_alias - the FARR alias filter autohotkey helper script

Useful especially if you are a FARR power user (which you should be!  ;D ) with a lot of custom aliases.

Code: Autohotkey [Select]
  1. SetWorkingDir %A_ScriptDir%
  3. ;filter_alias - FARR alias filter helper script
  5. ;WHY?
  6. ;When a user has many aliases it can be a hassle to find and edit one of them
  7. ;because the FARR options list isn't autosorted and has no filter/searchbox.
  9. ;SETUP
  10. ;run the script (tip: make it autostart it on boot)
  12. ;USAGE
  13. ;- open FARR options > aliases and press Ctrl+Space to show a filter box
  14. ;- Type in box to filter alias name/regex rows
  15. ;- Select a row and press Enter to jump to that row in FARR options
  16. ;- Press Esc pr Ctrl+Space again to close filter_alias
  18. ;by Nod5 - version 161122
  19. ;Listview filter code adapted from
  20. ;
  22. #IfWinActive, ahk_class TOptionsForm
  23. ^Space::
  24. if !winexist("filter_alias ahk_class AutoHotkeyGUI")
  25.  goto showgui
  26. return
  28. #IfWinActive, filter_alias ahk_class AutoHotkeyGUI
  29. Esc:: gui, destroy
  30. ^Space:: gui, destroy
  32. showgui:
  33. name = filter_alias
  34. FileRead, f, %A_MyDocuments%\DonationCoder\FindAndRunRobot\AliasGroups\MyCustom\myaliases.alias
  35. f := StrReplace(f, "</AliasText>", "")
  36. f := StrReplace(f, "</Regex>", "")
  37. xarr := []
  38. xarr2 := []
  40. ControlGetPos, cx, cy,,, TListView1, ahk_class TOptionsForm
  41. WinGetPos, wx, wy,,, ahk_class TOptionsForm
  42. gx := cx+wx, gy := cy+wy
  44. Gui, Add, Edit, r1 vsearch gsearch,
  45. Gui, Add, ListView, r20 w400 h200 grid, Alias|Regex
  47. Loop, Parse, f, `n, `r
  48. {
  49. If InStr(A_LoopField, "<AliasText>")
  50.  xali := SubStr(A_LoopField, InStr(A_LoopField, "<AliasText>") + 11)
  51. If InStr(A_LoopField, "<Regex>")
  52.   xreg := SubStr(A_LoopField, InStr(A_LoopField, "<Regex>") + 7)
  53. If InStr(A_LoopField, "<AliasEntry>")
  54.  xali := xreg := ""  ;clear vars for new alias
  55. if xali and (xreg or InStr(A_LoopField, "<Results>") ) ;stop at Result if no Regex
  56.   {
  57.   xreg := xreg ? xreg : a_space
  58.   LV_Add("", xali, xreg), xarr.push(xali) , xarr2.push(xreg)
  59.   xali := xreg := ""  ;clear vars for new alias
  60.   }
  61. }
  62. LV_ModifyCol(1, 120)
  63. LV_ModifyCol(2, 250)
  64. Gui, Show, x%gx% y%gy%, %name%
  65. return
  67. search:
  68. Gui, Submit, NoHide
  69. For key, val In xarr
  70. {
  71.    If (search == "")
  72.     LV_Add("", val, xarr2[key])
  73.    Else
  74.     If InStr(val, search) or InStr(xarr2[key], search) ;match
  75.      LV_Add("", val, xarr2[key])
  76. }
  77. GuiControl, +Redraw, LV
  78. Return
  80. #IfWinActive, filter_alias ahk_class AutoHotkeyGUI
  81. PgDn::
  82. Down::
  83. ControlGetFocus, contr, A
  84. if !(contr == "Edit1")
  85.  send {%a_thishotkey%}
  86. else if (LV_GetNext() == 0)
  87.  send {Tab}{Down}
  88. else
  89.  send {Tab}
  90. return
  92. Enter::
  93. selrow := !LV_GetNext() ? 1 : LV_GetNext()
  94. LV_GetText(seltext, selrow, 1)
  95. winactivate, ahk_class TOptionsForm
  96. controlfocus, TListView1, ahk_class TOptionsForm
  97. RegExMatch(seltext, "^[^ ]+",seldo)
  98. send % seldo ? seldo : seltext
  99. return

Everything Efu Explorer
A helper tool to explore/browse folders in .efu files in Everything.
Similar to folder navigation in Windows Explorer.
Useful for browsing indexes of offline drives.

Download page and up to date instructions for setup and use: https://www.dcmember...ything-efu-explorer/

feature request ware
everything_efu_explorer is "feature request ware". I hope the Everything developer likes it and makes these features native.

I wish Everything had a hotkey to change the window background color, to signal that efu browse mode is started. The Everything.ini file has a normal_background_color variable but edits to the ini only have effect when Everything is closed, so that can't be used to quickly toggle a background color on/off.

Everything is a very fast file and folder search engine - a great program! It can save search results to .efu file lists for later use.

When a .efu file is loaded Everything lists all files/folders in the index matching the search string. But it can be useful to browse a drive index folder by folder, like when navigating through folders in Explorer. That is what Everything Efu Explorer enables. This makes it more convenient to use Everything as a cataloger for offline drives or discs.

efu_make - a companion script to automatically save drive indexes to .efu file list files.

180223 new version of efu_make works with changed command line syntax in never versions of ES.exe

Code: Autohotkey [Select]
  1. ;efu_make   by Nod5
  2. ;a helper tool to index drives to Everything .efu files
  4. ;SETUP
  5. ;- install Autohotkey,
  6. ;- install Everything ,
  7. ;- download es.exe ,
  8. ;- save script as efu_make.ahk , compile to efu_make.exe
  9. ;- place es.exe in the same folder as efu_make.exe
  11. ;USAGE
  12. ;run efu_make from the command line with a string of drive letters as parameter
  13. ;example: C:\folder\efu_make.exe CFG
  14. ;example output: C:\folder\YYMMDD_C.efu , ... _F.efu , ... _G.efu
  16. drives = %1%
  17. if !FileExist(A_Scriptdir "\es.exe")
  18. stamp := SubStr(A_now,3,6)  ;YYMMDD
  19. Loop,Parse,drives
  20. {
  21. Tooltip, make new .efu ... %A_LoopField%  , 400, 200
  22. ;old ES efu export syntax
  23. ;RunWait, "%A_Scriptdir%\es.exe" "%A_LoopField%:\" -efu "%A_ScriptDir%\%stamp%_%A_LoopField%.efu" -p -s ,, Min
  24. ;new ES efu export syntax
  25. RunWait, "%A_Scriptdir%\es.exe" -export-efu "%A_ScriptDir%\%stamp%_%A_LoopField%.efu" "%A_LoopField%:\",, Min
  26. }
  27. Tooltip, make new .efu ... done!  , 400, 200
  28. sleep 2000

Last request for now mouser, promise!  :)

Enable filedropping and filepasting onto folders in the FARR results. The idea is to mimic dropping and pasting behaviour from Explorer. Control+dragdrop would copy the file and regular dragdrop would move the file. As for paste if the clipboard file was ctrl+x'ed then move it, if ctrl+c'ed then copy it (note: I have no idea how feasible that is to detect though). Multiple files could be handled like in Explorer too.

Related, but in reverse, let shift and control be used to multiselect files in FARR results (again like Explorer) and dragdrop of multiselect would copy all selected files to the dropped on folder. Let ctrl+C on multiselected files in FARR put them all on the clipboard.

Find And Run Robot / FARR alias options windows - some requests
« on: March 30, 2016, 09:12 AM »
Aliases is a very powerful feature in FARR.
Here are some small enhancement ideas (some mentioned before, but it could be useful to put them in a single thread here).

1 add a special search string to jump straight from the FARR inputbox to the myalias.aliases list in aliases/keywords/groups section of FARR options

2 add option to allow FARR searches even when options window is open (I describe a kind of workaround in an old thread). Because configuring alias IME often involve getting paths to folders/files etc and... that is of course quickly done through a FARR search!  :)

3 myalias.aliases list right click menu import/export commands: these show a box with each alias as a one line string. Make it so we can select all in that box with ctrl+A (standard windows behaviour). Let Esc close that window.

4 myalias.aliases list right click menu import/export commands: if the alias text is long copying it from export and pasting to import will cut it off without warning.  For example try to import this
1000>>>test1>->test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt>n>test a very long alias results field | C:\some file.txt
These 1580 characters are on import cut off to 1024 characters. I ran into this error when exporting an alias that showed a list of long urls.

Here is an ahk workaround that gives us 3
#IfWinActive ahk_class TTextPasteForm ahk_exe FindAndRunRobot.exe ;import/export
ControlClick, TMemo1, A
send ^{Home}
send +^{End}  ;select all
Esc:: WinClose, A

edit: partial workaround for 1
create this alias
name: alias
regex: ^alias$
results: dolaunch C:\folder\farr_alias_options.ahk ;;; dosearch gooptions
and save this ahk code to C:\folder\farr_alias_options.ahk  (uncomment sleep lines if it runs too fast)
WinWait, ahk_class TOptionsForm
WinActivate, ahk_class TOptionsForm
;sleep 50  ;go slower
ControlFocus, TTreeView1, ahk_class TOptionsForm
send AL    ;selects aliases in left pane
;sleep 50
ControlFocus, TListView1, ahk_class TOptionsForm
send {down}  ;focus alias list

Let us say we have an alias with regex pattern
^x (|.+)$
and result filter for regex
and three alias results

Type "x " and the three alias results are shown.
Type "x m" and only the swimming result is shown
Type "x ma" and nothing is shown, since no result name (the part before | ) contains "ma".

Mouser how about an option to when a result filter matches nothing revert to a regular FARR search? With that FARR would in my example above revert to a search for "x ma" everywhere and match e.g. C:\another folder\mad max.url

30SecondSilencer is a windows tool to add 30 seconds of silence every 30 seconds to an mp3 file.


But the duration of the silence and music segments can be customized. For example you can add 10s silence every 55s in the mp3 file. Optional fade in/out.

Download binary and source here

ffmpeg (and ffprobe that comes with ffmpeg)

If you want to compile from source: Autohotkey

changed ffmpeg concatenate code to avoid file errors
updated helpfile
code cleanup

first version with GUI
now uses windows temp folder as workdir (can be changed in source)
now outputs C:\<inputfolder>\<inputfilename>_30ss.mp3

first version, no GUI (pm if you want the old source)

Thanks to Attronarch (and mom!) for test driving the script, and for coming up with the use case.  :)

This alias lets you enter
in FARR to download that youtube content to an mp3 audio file.

This requires the tools youtube-dl (to download the youtube content) and ffmpeg (to convert to mp3).
youtube-dl ,
ffmpeg , (get the Static build)

alias name
youtube-dl to mp3
regular expression pattern
^(?:y|yt|you) (.*(?|*)$
youtube-dl mp3 $$1 | C:\folder\youtube-dl.exe --restrict-filenames -o "C:\output\`%(title)s.`%(ext)s" --write-thumbnail --ffmpeg-location "C:\folder\ffmpeg.exe" -f "bestaudio[ext=m4a]" -x --audio-format mp3 --audio-quality 0 --embed-thumbnail $$1

Note: change the two instances of "C:\folder\" to where you have put youtube-dl.exe and ffmpeg.exe (and ffprobe.exe and ffplay.exe from the same package) and change "C:\output\" to what folder you want the mp3 file to end up in.

I also made a short video tutorial on how to do these setup steps, view it here

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.

1 paste the code into a text editor and save as FARRCloseSelProc.ahk and then compile it (you need 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.

- 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.

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 =
if y ;filename mode
 splitpath, x, pname,,pext
else ;HWND mode
WinGetClass, xclass, ahk_id %x%
if xclass != CabinetWClass  ;exit if not Explorer win
WinActivate, ahk_id %x%,
ifwinNotactive, ahk_id %x%
clip := ClipBoardAll 
clipboard =
send ^c   ;copy
clipwait, 2
if errorlevel != 0
Loop, Parse, clipboard, `n, `r
p := a_loopfield
clipboard := clip ;restore
if InStr( FileExist(p), "D")
splitpath, p, pname,,pext

if (pext != "exe")

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

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.  :)

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

alias name:
regex pattern:
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" .

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 =
WinGetClass, xclass, ahk_id %x%
if xclass != CabinetWClass  ;exit if not Explorer win
WinActivate, ahk_id %x%,
ifwinNotactive, ahk_id %x%

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

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

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

aria2 is "a lightweight multi-protocol & multi-source command-line download utility". It can speed up download of large .iso files by using multiple threads.

Get and unzip aria2 and make a new alias in FARR with these settings


regular expression pattern:
^dl (.*)$

dl aria2 $$1 | C:\folder\aria2c.exe -x 15 -s 15 -k 3M -d C:\downloads "$$1"

Note: change C:\folder\ and C:\downloads\ to match the folders on your computer. You can tweak the number of threads to use (-x -s values) and split file size (-k value) to max out your internet speed. Details on aria2 man page.

To use it put a file URI on the clipboard, open FARR and type "dl " and paste the url. A command line window pops up and shows the download progress.

Find And Run Robot / request: allow FARR searches with options open
« on: January 21, 2015, 07:24 AM »
While the FARR options window is open FARR search is disabled. Is that necessary? Could it be worked around? When creating more advanced aliases it is handy to search for files with FARR. But to do so one has to exit/reopen the options inbetween.

Find And Run Robot / Custom alias icon and file properties conflict
« on: January 21, 2015, 07:21 AM »
Setting a custom icon in an alias breaks the right click file proporties action for me.

Create an alias under myaliases with this as result
test | C:\test.txt /icon=test.ico
Copy test.ico to same folder as myaliases.alias

Next search FARR to display that result > right click > properties.
I get this error message:
Windows cannot find 'C:\test.txt /icon=test.ico'. Make sure you typed the name correctly, and then try again.
Happens in both Windows 7 and Windows 8.

Find And Run Robot / Custom alias icon issue Win7
« on: January 21, 2015, 07:19 AM »
Hi, Custom alias icons doesn't show on my Win7 computer. They do work on another Win 8 machine.

I can reproduce the problem by creating an alias under myaliases with this in the result box
Code: Text [Select]
  1. test | C:\test.txt /icon=test.ico
and copy test.ico to same folder as myaliases.alias (under C:\users\[current user]\ ...).
The icon isn't shown in FARR on my Win7 computer.

I have tried: FARR restart, reboot, FARR reinstall, refresh icon cache in Windows, change default application for .ico files, different files, different icon files.

Maybe related threads

DC Member Programs and Projects / Sumatra Highlight Helper
« on: October 25, 2014, 11:23 AM »
Add, remove and jump between highlights in Sumatra PDF Prerelease version (needed for the highlight command)

H = Highlight selected text + autosaves it into pdfname.pdf.smx
Ctrl+H = Remove all highlighting on this pdf page
Hold CapsLock + move mouse = Remove all highlighting mouse moves over
Win+H = Toggle highlighting visible/hidden
Ctrl+Win+PgUp/PgDn = Jump to next/prev highlight page

Sumatra Highlight Helper is really "feature request ware".
I hope the Sumatra PDF devs try and like the features and make them native.

Download and details:

Find And Run Robot / alias syntax: any way to pad with blank lines?
« on: August 23, 2014, 03:42 AM »
A very minor question/request: I have set FARR to display large icons and paths in the result list. Is there some alias syntax to, with the mentioned settings intact, pad the results list with blank lines? I've tried
| /all_white.ico
but that displays "/all_white.ico" as path. Putting only
on a line makes an icon appear.

Pages: [1] 2 3 4next