I'm not sure if there isn't already support for this functionality, but I couldn't find anything in the manual, so I figured I'd suggest it.
I realize there's currently functionality in place to support conditional arguments on buttons. (want vs need) What would be nice, however, if the ability to specify a sort of "default" value if no argument is given. For instance, something like:
{f!||s}
Or possibly,
{f!}||{s}
The second would probably be better so that you could do things like:
{f!}||%USERPROFILE%\Documents
At the moment, the only way I see to implement this sort of argument is through the use of a MSDOS Batch Function like: (Ignore my anal folder structuring and unnecessary batch localization)
@set cmdExec="%ProgramFiles(x86)%\Development\Text Utilities\Search & Replace Tools\PowerGREP3\PowerGREP.exe" /contextfolderrecurse
@dirsonly
@nofilenamequoting
@runmode:hide
@externalonly
setlocal
set TARGET={f!}
if "%TARGET%x"=="x" set TARGET={s}
@async:{$cmdExec} "%TARGET%"
endlocal
It's definitely not a huge issue, but I figured I'd suggest it, more to see if there's an easier way to do this.