はじめに
ChatGPTなどのLLM(大規模言語モデル)を活用していると、「あるディレクトリに含まれるすべてのファイル名と中身」を一括でプロンプトに貼り付けたいという場面が意外と多くあります。
たとえば:
・コードベース全体の構成をGPTに説明したいとき
・テンプレートや設定ファイルが複数あるプロジェクトを一気に解析したいとき
・Markdownやテキスト資料をまとめて読み込ませて要約させたいとき
・バッチ処理前に中身をざっと確認したいとき
・バージョン管理されていないローカルフォルダを手早くドキュメント化したいとき
など、中身を「見せる」ことそのものがインプットになるケースがよくあります。
ツールを作成しました
そこで今回、「フォルダを指定するだけで、中の全ファイルのファイル名と内容を再帰的に読み取り、クリップボードにコピーする」Webツールを作成しました。
ブラウザ上で動作するため、インストール不要・アカウント不要です。以下のURLからすぐに使えます:
🔗 https://uni928.github.io/DirectoryInFileAllCopy/
安全性をチェックするために、ローカルに落として解析してから使いたい方は、こちら からダウンロード頂けばと思います。
使い方
- 上記サイトにアクセス
- 「フォルダを選択」ボタンをクリック
- コピーしたいフォルダを選択 → OK
- 数秒後、すべてのファイルの内容がクリップボードにコピーされます!
※ .meta ファイルなど一部の拡張子は除外しています。対象拡張子の制御も可能です。
技術的背景(ちょっとだけ)
このツールは、File System Access API を利用しています。以下の点にご注意ください:
・Chrome / Edge / Braveなど Chromium系ブラウザ対応
・HTTPS環境 または localhost でのみ動作
・フォルダ指定はユーザー操作が必須(セキュリティ制限のため)
再帰的にフォルダを走査し、すべてのファイルのテキストを読み込み、1つの文字列として整形 → navigator.clipboard.writeText() でクリップボードに送っています。
応用のヒント
このツールは単に「中身をコピーする」以上の用途に活用できます:
・LLMへのコードベース丸ごと貼り付けの補助
・全文検索ツールと連携してローカル検索を効率化
・ドキュメント化前の構成把握・レビュー
・CI/CDの前段階での中身チェック
・GPTに「このプロジェクトを説明して」と投げるための素材づくり
ローカルに置かれていた無数のファイルが、これ一発で「テキストデータ」として活用可能になります。
さいごに
以上、フォルダ内のファイル名と内容をまとめてクリップボードにコピーするサイトのご紹介でした。
実際に使ってみると、思った以上に「一発で確認したい」場面があることに気付くかもしれません。
ぜひ皆さんのワークフローに取り入れてみてください。そして、もし「便利!」と思ってくださる方がいれば、シェアしていただけると嬉しいです。
ご覧いただきありがとうございました!
補足
この文章は ChatGPT で添削しています。
生成 AI による添削が苦手な方は申し訳ありません。
正直なところ、HTMLの仕様上、このサイトは動かないだろうと思っていましたが、実際に動作して驚いています。
ただし、今後のブラウザ仕様の変更などにより、この機能が使用できなくなる可能性も十分にあります。その点につきましては、あらかじめご了承いただけますと幸いです。