No.3ベストアンサー
- 回答日時:
追記
必ず「fcとfindがちゃんと動いている」のを確認してから実行すること。
本番の実行前に
del %1
の行を
echo %1 >> result.txt
に変更しておき、最初にいきなりファイルを消させず、消すはずのファイル一覧をresult.txtに出力させておき、result.txtに希望通りの結果がリストされたか確認しておく事。
確認して消してはいけないモノが消される対象になってないか確認し、確認してから変更した行を
del %1
に戻して、本番実行すること。
間違って消しちゃいけないファイルが消されても責任は取れないので、実行は自己責任で、バックアップを取ってから行なうこと。
No.4
- 回答日時:
forのヘルプ(for /?)を見ると以下の記述が見つかりました。
> %~zI - %I ファイルのサイズに展開します。
なのでこれを使ってファイルサイズを取得できると思います。
以下はサンプルコードです。
----------------------------------------------------------
REM カレントディレクトリのファイル名とファイルサイズを表示
FOR %%I IN (*) DO ECHO %%I %%~zI
REM カレントディレクトリの*.txtファイルの内、サイズ0のものを削除
FOR %%I IN (*.txt) DO IF %%~zI==0 DEL %%I
No.2
- 回答日時:
xp だという前提なら
for %i in (*.*) do if %~zi EQU 0 echo %i
で、ファイルサイズが0バイトのファイルを列挙できますので、
上の例で echo しているところをdelにするなり
なんなりすればよろしいかと。
多分 cmd.exeが使えるならどのWindowsでもいけます。
No.1
- 回答日時:
・0バイトのファイルを作る方法
echo "" | find "@@" > zero.tmp
・0バイトのファイルかどうか調べる方法
fc /b 対象ファイル zero.tmp | find "FC: 相違点は検出されませんでした" > NUL
・調べた結果を判断する方法
if errorlevel 1 goto skip
完成したバッチファイル
@echo off
echo "" | find "@@" > zero.tmp
fc /b %1 zero.tmp | find "FC: 相違点は検出されませんでした" > NUL
if errorlevel 1 goto skip
del %1
:skip
del zero.tmp
使い方
上記のバッチファイルをzerodel.batとして保存し、
C:\>cd \temp
C:\TEMP>for %f in (*.*) do call zerodel.bat %f
と実行。
*注意*
1.標準DOSコマンドのfc.exe、find.exeがインストールしてあること。
2.fc.exe、find.exeにパスが通してあること。
3.WindowsXPではfc.exeが「FC: 相違点は検出されませんでした」のメッセージを出すが、Windows98では「FC: 違いは見つかりませんでした.」のメッセージを出すのでOSの違いに注意すること。
4.バッチファイルを実行するカレントディレクトリは、書き込み可能、ファイル作成可能であること。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
DOS コマンドの~zfの意味を教えてください。
Windows Vista・XP
-
ファイルサイズ判定バッチ
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
sqlcmdでクエリの実行結果をバッチの環境変数に入れる方法について
SQL Server
-
5
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
6
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
7
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
8
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
9
複数のbatファイルを自動実行したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0バイトファイルの判断
-
Googleドライブにインターネッ...
-
VBAでFormat がうまく使えない
-
勝手にショートカットのリンク...
-
シェルスクリプトでFTPの実行結...
-
Thunderbirdのプロファイルが読...
-
jw cadの名前をつけて保存・・...
-
Debug Assertion Failed?
-
C:\\Users\\All Users がエク...
-
C:\\Users\\All Users\\Applica...
-
c言語の変数一覧の取得
-
acerのディスプレイ「G225HQL」...
-
Wordのデータが毎回破損してしまう
-
NET USE コマンドでエ...
-
いつの間にか作られた「MSNのMy...
-
Tomcat ドキュメントルートの設...
-
ftpコマンドバッチファイルのリ...
-
ASP.NETでのランタイムエラー?...
-
Ubuntu18.04 デスクトップにWin...
-
DVD-Rなのに再書き込みや削除が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0バイトファイルの判断
-
便利なbatファイル
-
特定の列の抽出
-
バッチでファイルの読み込み
-
バッチからのSQLPLUS実行について
-
Googleドライブにインターネッ...
-
ショートカットファイルが開け...
-
jw cadの名前をつけて保存・・...
-
DVD-Rなのに再書き込みや削除が...
-
勝手にショートカットのリンク...
-
VBAでFormat がうまく使えない
-
フォルダを間違って削除しない...
-
Thunderbirdのプロファイルが読...
-
C:\\Users\\All Users がエク...
-
メモ帳を保存せずに誤って閉じ...
-
更新日時等の表示がおかしい
-
ACCESS VBAのOpenForm書き方
-
Debug Assertion Failed?
-
シェルスクリプトでFTPの実行結...
-
ショートカットアイコンのリン...
おすすめ情報