#!/usr/bin/osascript on run arguments tell application "Finder" -- no argument: get frontmost window or desktop if (count of arguments) is 0 then if (count of windows) is 0 then set dir to (desktop as alias) else set dir to ((target of Finder window 1) as alias) end if else if first item of arguments is in {"all", "-a", "-all", "--all"} then -- list all Finder windows copy target of every Finder window to theList repeat with w in theList log POSIX path of (w as alias) end repeat return end if -- see if there is a window matching the name set t to arguments as text set wins to every Finder window where name contains t if (count of wins) > 0 then set dir to ((target of item 1 of wins) as alias) else return end if end if return POSIX path of dir end tell end run