タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【Windows bat】PCのデスクトップのフォルダ数、ファイル数をカウントする

ずっと気になっていたんです。

職場のパソコンも、自宅のパソコンも、デスクトップにファイルがあり過ぎだって!

そこで思いついたのが、毎日、毎日、デスクトップに存在している「フォルダ数」と「ファイル数」をカウントしていって、その推移を「見える化」すればいいんじゃないかと。

さっそく下記のサイトから学んで、自分なりの batファイルを作ってみました。

batch-file.net

desktopChecker.bat

@echo off

rem 対象フォルダ、ログ・ファイル保管先
set targetFolder=C:\Users\userName\Desktop
set logFile=C:\Users\userName\Desktop\Documents\desktopChecker.csv


if not exist %targetFolder% (
    echo 対象フォルダが存在しないため、処理を終了します。
    echo.
    pause
    exit
) 

rem フォルダ数を取得するコマンド作成
set cmd="dir %targetFolder% /ad /b | find /c /v """

rem フォルダ数を取得するコマンドを実行し、結果を変数「folderCount」へ格納
for /f %%a in ('%cmd%') do (
    set folderCount=%%a
)

rem 結果
echo フォルダ数:%folderCount%


rem ファイル数を取得するコマンドを作成
set cmd="dir %targetFolder% /a-d /b | find /c /v """

rem ファイル数を取得するコマンドを実行し、結果を変数「fileCount」へ格納
for /f %%a in ('%cmd%') do (
    set fileCount=%%a
)

rem 結果
echo ファイル数:%fileCount%

rem ログ書き出し
echo "%DATE% %TIME%","%folderCount%","%fileCount%" >> %logFile%


echo.
pause
exit

ほぼほぼ、参照にしたサイトのパクリなのですが、私のは「ログ・ファイル保管先」を作って、実行時のフォルダ数とファイル数をcsvに書き出ししています。

これにより、csvファイルを確認すれば、デスクトップ内の「断捨離」の実行結果がわかるようになりました!

近い将来、こちらの機能をバッチファイルではなく、WindowsMacOSLinuxでも実行できるアプリとして、構築する予定です。

自分や周囲のためになる「ソフトウェア」作りは、非常にやりがいがありますね。

まずは、第一歩目として動き出せて良かったです!