このフォーラムのスレッドには、AppleScriptを使用してすでに開いているFinderウィンドウの複製を開く方法に関する興味深い解決策があります。 現在開いているFinderビューをどのように複製しますか?
OS X 10.9 Mavericksの新しいタブ付きFinderで、新しいFinderウィンドウではなく新しいFinderタブで複製を開くAppleScriptを実装する方法があるかどうか疑問に思っています。誰かが解決策を見つけることに成功しましたか?
あなたはそれを押すことによってそれをすることができます:
cmd + ctrl + O
任意のフォルダにあり、新しいタブに表示されます。
Finderの辞書はタブをサポートしていませんが、コマンドキーを押すことをシミュレートできます-T:
tell application "Finder"
activate
set t to target of Finder window 1
set toolbar visible of window 1 to true
end tell
tell application "System Events"
keystroke "t" using command down
end tell
tell application "Finder"
set target of Finder window 1 to t
end tell
Finderウィンドウのターゲットは、タイトルバーに表示されるフォルダであり、リストビューで選択されている項目に依存しません。
今日は、@ Lriが行った方法と非常によく似たスクリプトを作成しました。
https://Gist.github.com/n8henrie/0ceef75964bd153f910d
-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.
on new_tab()
tell application "System Events" to tell application process "Finder"
set frontmost to true
tell front menu bar to tell menu "File" to tell menu item "New Tab"
perform action "AXPress"
end tell
end tell
end new_tab
on run {}
tell application "Finder"
if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
end tell
-- Short delay may or may not be necessary, mine seems to work without.
-- delay 0.2
new_tab()
tell application "Finder"
set target of front Finder window to duplicate_me
end tell
end run
これは@ n8henrieの解決策ですが、選択したアイテムを再選択するための微調整があります。
-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.
----------------------------------------------
on run {}
tell application "Finder"
if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
set _sel to the selection
end tell
-- Short delay may or may not be necessary, mine seems to work without.
-- delay 0.2
new_tab()
tell application "Finder"
set target of front Finder window to duplicate_me
select _sel
end tell
end run
----------------------------------------------
on new_tab()
tell application "System Events" to tell application process "Finder"
set frontmost to true
tell front menu bar to tell menu "File" to tell menu item "New Tab"
perform action "AXPress"
end tell
end tell
end new_tab