AppleScriptでシンボリックリンクをつくる

メニューバーにAppleScriptメニューを有効にする


メニューバーからアップルスクリプトを実行できるようにする。

open '/System/Library/CoreServices/Script Menu.app'


選択しているファイルのシンボリックリンクを作成するアップルスクリプト


-- AppleScript to create symbolic links for selected files or folders
tell application "Finder"
    set selectedItems to selection
    set successCount to 0
    set failCount to 0
    
    if selectedItems is {} then
        display dialog "アイテムが選択されていません。Finderで1つ以上のファイルまたはフォルダを選択してから、このスクリプトを実行してください。" buttons {"OK"} default button "OK"
    else
        repeat with selectedItem in selectedItems
            -- 選択されたアイテムのパスを取得
            set originalPath to POSIX path of (selectedItem as alias)
            -- 選択されたアイテムの名前と親ディレクトリを取得
            set itemName to name of selectedItem
            set parentDir to POSIX path of (container of selectedItem as alias)
            
            -- シンボリックリンクのパスを定義
            set symlinkPath to parentDir & itemName & " (symlink)"
            
            -- シンボリックリンクを作成
            try
                do shell script "ln -s " & quoted form of originalPath & " " & quoted form of symlinkPath
                set successCount to successCount + 1
            on error errorMessage
                set failCount to failCount + 1
                log "Failed to create symlink for " & itemName & ": " & errorMessage
            end try
        end repeat
        
        -- 結果を表示
        if failCount is 0 then
            display dialog successCount & "個のシンボリックリンクが正常に作成されました。" buttons {"OK"} default button "OK"
        else
            display dialog successCount & "個のシンボリックリンクが作成されました。" & failCount & "個の作成に失敗しました。詳細はログを確認してください。" buttons {"OK"} default button "OK"
        end if
    end if
end tell


適当にsymbolic-link.applescriptといった感じの拡張子をつけてスクリプトフォルダに保存する。


あとは、ファイルやフォルダを選択した状態でスクリプトを実行すれば、同じ階層にシンボリックリンクが貼れます。

いいなと思ったら応援しよう!