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 → *
にすると新しいフォルダ内の全ファイルを対象にします。