🖋️

選択フォルダ内にフォルダを作るサービス(AppleScript)

1 min read

フォルダを作るScriptはいくつもありますが、今回はフォルダを選択してコンテキストメニューから選択フォルダ内に新規フォルダを作るサービスを紹介します。

-2020-11-08追記
最近のバージョンではサービスではなくクイックアクションと名称が変わっているようで、適宜読み替えてください。

使い方

1. Automatorで新規ファイルを開き、サービスを選択する。

2. 各種設定をする。

  • 受け取る選択項目をフォルダ
  • 検索対象をFinder.app
  • アクションからAppleScriptを実行を選択
  • 後述のコードをAppleScript内に記述

作成するフォルダ

set folderLists to {"A", "B"}

サンプルではA、Bという名称の2つのフォルダを作成します。必要に応じて""で囲い,で区切るように記述を変更してください。

3. 保存する。


今回はmakeFolderとします。
ファイルは ~/Library/Services/ に保存されます。

これで準備は終了です。
フォルダを選択するとサービスメニューやコンテキストメニューにmakeFolderが表示されますので実行すると選択フォルダ内にScript内で設定したフォルダが作成されます。

今回は複数フォルダを選択した場合はエラーを返すようにしましたが、選択フォルダ全てを対象にしてもいいかもしれません。

引数inputは選択したフォルダがlist形式で返ってくるため、選択フォルダが1つであってもinput's item 1のように記述します。

ソースコード


on run {input, parameters}
	--新規に作成するフォルダ名を設定
	set folderLists to {"A", "B"}
	
	set cnt to count of input
	
	if cnt is not 1 then
		display dialog "フォルダは1つだけ選択してください" buttons {"OK"} default button "OK" with icon stop
		error number -128
	end if
	
	set aFolder to input's item 1 as alias
	
	tell application "Finder"
		repeat with i from 1 to count of folderLists
			
			make new folder at aFolder with properties {name:folderLists's item i}
			
		end repeat
	end tell
	
end run

Discussion

ログインするとコメントできます