Yahoo知恵袋 batファイルの作り方を教えてください。(『新しいフォルダ』の中に『0kb』のファイルがあればそれは削除する。)

Yahoo知恵袋にあった質問

batファイルの作り方を教えてください。xpmyg273さん

batファイルの作り方を教えてください。

・デスクトップ上に『新しいフォルダ』という名前のフォルダが存在します。

・そのフォルダの中には
(1)あいうえお.dat(25kb)
(2)かきくけこ.dat(0kb)
という2つのファイルがあります。

ここでこういうBATファイルを作成したいのです。

『新しいフォルダ』の中に『0kb』のファイルがあればそれは削除する。』

こういった命令のBATファイルは作成可能でしょうか?

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1221136007

※(1),(2)は丸数字

デスクトップ上に「新しいフォルダ」という名前のフォルダあって、その中のファイルサイズが0のファイルを(名前に関係なくすべて)削除するという質問と認識しました。

まずデスクトップですが、"%USERPROFILE%\デスクトップ" で表現できます。デスクトップ上の「新しいフォルダ」なら "%USERPROFILE%\デスクトップ\新しいフォルダ"となります。

ファイルサイズを調べる簡単な方法は for文のファイルセットに対して、for変数の置換を使う方法です。詳しくは for /? で。for文の変数を %%f とすると、%%~zfがファイルサイズに置き換わります。

作ったサンプルはこちら。(一応 .dat のファイルのみ対象にしています。)

echo off
for %%f in ("%USERPROFILE%\デスクトップ\新しいフォルダ\*.dat") do if %%~zf EQU 0 del "%%f"

これでファイルサイズが0の拡張子がdatのファイルを削除します。
*.dat → *
にすると新しいフォルダ内の全ファイルを対象にします。