こんにちは。
AppleScript(osascript コマンド)を使って Finder 最前面フォルダのパス取得してみました。シェルスクリプト(オプションで pbcopy も実行)と Ruby で書いてみました。
$ ./findertopwindow.sh
/Users
$ cd `./findertopwindow.sh`
findertopwindow.sh
# !/bin/sh
DIR_FRONTMOST=`
osascript << SCRIPT
tell application "Finder" to set folder_frontmost to (target of window 1) as string
if folder_frontmost is not "" then set folder_frontmost to POSIX path of folder_frontmost
return folder_frontmost
SCRIPT`
echo "${DIR_FRONTMOST}"
if [ "${DIR_FRONTMOST}" != "" ]; then
for OPT in $*
do
case $OPT in
"--pbcopy" ) echo "${DIR_FRONTMOST}" | tr -d "\n" | pbcopy ; shift 1 ;;
esac
done
fi
exit 0
なお、スクリプト内に cd
コマンドを書いている場合(下記)は、source
コマンド(.
)でスクリプトを動かす必要があります。
$ . cd_findertopwindow.rb
cd_findertopwindow.rb
# !/usr/bin/ruby
DIR_FRONTMOST=`
osascript << SCRIPT
tell application "Finder" to set folder_frontmost to (target of window 1) as string
if folder_frontmost is not "" then set folder_frontmost to POSIX path of folder_frontmost
return folder_frontmost
SCRIPT`
# puts "#{DIR_FRONTMOST}"
if "#{DIR_FRONTMOST}" != ""
system("cd #{DIR_FRONTMOST}")
end
exit(0)