📌 はじめに
Web制作をしていると、「現在のディレクトリ構成をチームに共有したい」という場面に出くわすことはありませんか?特にチャットやChatGPTなどを使ってやりとりしている際に、「今どんなフォルダ構成になってるのか見せて」と言われて戸惑った経験、あるかもしれません。
そんな時に便利なのが、今回作成してみた「treecopy.bat」というWindows標準機能を活用したバッチファイルです。親フォルダをドラッグ&ドロップするだけで、ディレクトリ構成がクリップボードにコピーされるという超便利なツールなんです。
今回は、筆者が実際に作ってみて感動した制作中フォルダの構成共有を“爆速化”する方法を紹介します。
✅ 「treecopy.bat」でできること
▶️ 制作ディレクトリを一瞬でツリー表示に変換!
以下のようなディレクトリ構成を、一発でテキスト形式にしてコピーできます:
C:.
│ index.html
│
├─css
│ ├─top
│ └─price
├─js
│ ├─top
│ └─price
└─img
これはチームに構成を共有したり、ChatGPTに「この中身を使ってCSSとJSを書いて」とお願いする時にめちゃくちゃ便利です。
✅ batファイルの作り方:3ステップで完成
▶️ 1. 新規テキストを開いて以下のコードを貼り付け
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: ドラッグ&ドロップされたフォルダを対象にする
if "%~1"=="" (
echo 対象フォルダをこのファイルにドラッグ&ドロップしてください。
pause
exit /b
)
cd /d "%~1"
:: 一時ファイルに tree 結果出力(不要行を除去)
set "tmpfile=%TEMP%\tree_temp.txt"
tree /f /a | findstr /v /c:"Volume serial number" /c:"Folder PATH listing for volume" > "%tmpfile%"
:: Markdown形式に整形(線の変換なしでASCIIのまま)
set "outfile=%TEMP%\tree_md.txt"
(
echo ```
for /f "usebackq delims=" %%A in ("%tmpfile%") do (
echo %%A
)
echo ```
) > "%outfile%"
:: Markdown囲い(```)を除去して出力用ファイル作成
set "cleanedfile=%TEMP%\tree_cleaned.txt"
findstr /v /c:"```" "%outfile%" > "%cleanedfile%"
:: PowerShellで「最後の行を除いて」クリップボードにコピー
powershell -command "Get-Content '%cleanedfile%' | Select-Object -SkipLast 1 | Set-Clipboard"
:: 出力内容を表示
type "%cleanedfile%"
:: 後始末
del "%tmpfile%"
del "%outfile%"
del "%cleanedfile%"
pause
exit /b
※先頭2行に「Folder PATH listing for volume WindowsVolume serial number is ◯◯◯」と最後2行に「ECHO is off. “`」とディレクトリを伝える際に必要ない部分を削除する処理も加えました。
※追記 使用していて気づいたのですがファイル数が多すぎると表示制限がかかるようで表示しきれないようだったので、ファイルが多い場合にも対応したものに変更しました
▶️ 2. 保存時のポイント
- ファイル名を
treecopy.bat(任意の名前.batでも可) にして保存(拡張子が.txtにならないよう注意) - 文字化けも対策済みなので文字コードそのままでOK
▶️ 3. batファイルにフォルダをドラッグ&ドロップ!
- batファイルの上に、構造を知りたいフォルダをドラッグするだけ
- コマンドプロンプトが起動し、数秒で構成がクリップボードにコピーされます
- あとは貼り付けるだけでOK!
✅ こんな場面で活躍します
- 💬 チャットやメールでのやり取りやChatGPTにディレクトリ構成を説明したいとき
- 🤝 チーム制作時に「どこに何があるか」を素早く伝えたいとき
- 📝 ブログ記事やドキュメントに構成を貼り付けたいとき
📝 まとめ:開発者の小技が作業効率を爆上げする!
treecopy.batを使えば、たった数秒でフォルダ構成の可視化と共有が可能になります。地味なようでいて、これは開発やチーム制作、AIとのやりとりを効率化する“小技”です。
筆者自身、これを知ってから「あのスクショ撮って送ったり手で打つ作業は何だったんだ……」と思いました。Windows環境で作業している方は、ぜひ一度お試しを!
📚 参考リンク
📌 Microsoft Docs: TREE コマンド解説



コメント