あまり需要はないとは思いますが、個人的に使うために作成したbatファイルです。
親フォルダをD&Dすることで、その下の3階層(子フォルダ/孫フォルダ/ひ孫フォルダ)までのそれぞれのフォルダの数と、フォルダ名の一覧を取得するスクリプトになります。
delayedexpansionを使用せずにフォルダのカウントと表示を行っているので、「!」などの特殊文字が含まれていてもおそらく問題なくカウントできます。
コードサンプルはこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
@echo off setlocal :: ドラッグ&ドロップされたフォルダのパスを取得 set "folderPath=%~1" :: 子フォルダの一覧とカウント echo 子フォルダ: set /a countSub=0 for /d %%i in ("%folderPath%\*") do ( set /a countSub+=1 echo %%~nxi ) echo 子フォルダの数: %countSub% :: 孫フォルダの一覧とカウント echo. echo 孫フォルダ: set /a countGrand=0 for /d %%i in ("%folderPath%\*") do ( for /d %%j in ("%%i\*") do ( set /a countGrand+=1 echo %%~nxj ) ) echo 孫フォルダの数: %countGrand% :: ひ孫フォルダの一覧とカウント echo. echo ひ孫フォルダ: set /a countGreatGrand=0 for /d %%i in ("%folderPath%\*") do ( for /d %%j in ("%%i\*") do ( for /d %%k in ("%%j\*") do ( set /a countGreatGrand+=1 echo %%~nxk ) ) ) echo ひ孫フォルダの数: %countGreatGrand% endlocal pause |
一応batファイルも用意しました。デスクトップなどの適当な場所に保存して利用してください。