🍰
Macで任意のフォルダにテキストファイルを作成するショートカット
概要
Macを使っていて、
- 「簡単なテキストファイルをディレクトリにすぐ保存したい」
- 「エディタを開くのはめんどう」
- 「Finder 上で右クリックして「このフォルダにメモを残す」といった操作ができたら便利」
と感じたことはありませんか?
本記事で紹介するショートカットを使えば、任意のフォルダに対して右クリック → クイックアクションで「テキストファイルを作成」できるようになります。
そうすることで、
- 保存先を意識せずにメモを取れる
- エディタを開く必要がない
といったメリットがあります。
作成したショートカット
用語と技術要素の基本解説
| 用語 | 意味 | 補足 |
|---|---|---|
| ショートカットアプリ (Shortcuts) | macOS に標準搭載されている自動化ツール | iOS のショートカットと似た仕組み。複数のアクションを組み合わせてワークフローを作れる。 |
| クイックアクション (Quick Action) | Finder やコンテキストメニューから呼び出せるショートカット | 特定のコンテキスト(例:右クリックメニュー、Finder のツールバーなど)で実行できるようになる。 |
| 変数 | データ(値)を一時的に保存する箱 | ショートカットで入力されたテキストやフォルダパスなどを “変数” に格納して後処理に渡す。 |
| シェルスクリプト (Shell Script) | Unix 系コマンドを順に実行するスクリプト | macOS は Unix ベースなので、ターミナルで使われるコマンドをスクリプトとして使える。 |
| 引数 | スクリプトに渡すパラメータ | シェルスクリプトにデータ(たとえばフォルダパス、テキスト)を渡す方法。通常は複数の引数だが、Shortcuts には制約がある。 |
| タイムスタンプ | 日時フォーマットをファイル名に使う方式 | 例:2025-09-29-124530.txt のように年月日時分秒を入れるやり方。 |
完成イメージ:このショートカットでできること
- Finder で任意のフォルダを右クリック
- 「ショートカット」→ 作成したクイックアクションを選択
- テキスト入力を求めるプロンプトが出るので、メモや内容を入力
- 入力した内容を、選んだフォルダにテキストファイルとして保存
- ファイル名には自動でタイムスタンプが付く(例:
2025-09-29-124530.txt)
これにより、手動で「テキストエディタ起動 → 保存先選択 → ファイル名を入力 → 保存」という手順を省略できます。
ショートカットの作成手順
1. クイックアクションで「フォルダを指定」する
- ショートカットアプリで、新しいショートカットを作成
- そのショートカットを クイックアクションとして使用 する設定にする
- クイックアクションの入力タイプを「フォルダ (Folder)」にする
- 実行時、右クリックしたフォルダのパスが
targetFolder変数として取得されるように設定
クイックアクションは、Finder 上で右クリックしたアイテム(ファイル・フォルダなど)をショートカットの入力対象にできます。
2. ユーザー入力(テキスト)を受け取る
- 「プロンプトでテキストを要求 (Ask for Text)」アクションを追加
- ユーザーに入力を促すメッセージ(例:「メモを入力してください」など)を設定
- 入力されたテキストが
fileContent変数に入る
3. 変数をリストにまとめる
- 「リストを作成 (Make List)」アクションを使い、
targetFolderとfileContentをリスト化 - Shortcuts はスクリプトへ渡す引数が 1つしか使えない 制約があるため、リストにまとめて渡す必要がある
4. リストを引数にシェルスクリプトを実行
- 「スクリプトを実行 (Run Shell Script)」アクションを追加
- 引数としてリストを受け取るように設定
- スクリプト内でリストを分解し、フォルダパスとテキストを取り出す
- ファイル名をタイムスタンプで生成し、フォルダ内にテキストを書き込む
スクリプト例(bash)
# 引数1: フォルダパス
folder="$1"
# 引数2: 書き込むテキスト
content="$2"
# ファイル名: YYYY-MM-DD-HHMMSS.txt 形式
filename="$(date +%Y-%m-%d-%H%M%S).txt"
filepath="$folder/$filename"
# フォルダ作成(存在しない場合)
mkdir -p "$folder"
# テキストを書き込む
echo "$content" > "$filepath"
全体の流れとまとめ
- ショートカットを「クイックアクション扱い + 入力タイプ“フォルダ”」で作成
- 「プロンプトでテキストを要求」でユーザーに入力を促す
- フォルダパスとユーザー入力を「リスト」にまとめる
- シェルスクリプトを実行し、リストから値を取り出してテキストファイルを保存
このショートカットを導入すれば、Finder 上からすぐに任意の場所にテキストをメモとして書き残せるようになります。自由に拡張してみてください。
作成したショートカット
Discussion