2016-09-22 10 views
0

バッチファイルを使用してx MBより小さい特定のフォルダ内のすべてのファイルを削除する方法はありますか?
私はforfilesコマンドを見ましたが、それでx daysより古いファイルしか削除できないようです。特定のサイズよりも小さいファイルをバッチで削除する

+0

@KenWhiteを自分のニーズ。 –

+2

ファイルサイズを示す単一の番号を変更し、フォルダを指すために使用されるパスを変更することによって、ニーズに合わせて変更できます。なぜそれを変更するのは難しいですか? –

+0

@KenWhite以前はBatch/DOSを使ったことがなかったので、それを学ぶことなくこれらの小さなファイルをすべて削除するために使ったかっただけです... –

答えて

5

これは、for /fステートメントを使用すると可能です。以下のスクリプトは、100KB(100,000バイト)以下のすべてのファイルの削除はこれをしようとします:私はその記事を見ましたが、私はそれが何だったか全く分からなかったし、どのように私は私に合わせて、それを修正することができ

@echo off 
setlocal 
:: Size is in bytes 
set "min.size=100000" 

for /f "usebackq delims=;" %%A in (`dir /b /A:-D *.*`) do If %%~zA LSS %min.size% del "%%A" 
+2

あなたの 'DIR'コマンドはピリオドのあるフォルダをリストします。 '/ A-D'オプションを使うと、フォルダをリストから除外することができます。個人的には、フォルダをリストしないので、基本的な 'FOR'コマンドを使うだけです。 – Squashman

+0

答えをありがとう!それは本当にうまくいく。現在のフォルダ( 'dir/b'ですか?)でコマンドを実行することがどのように仮定されているのかわかりませんでした。それ自体も削除されますが、それは問題ではありません。ファイルをコピーして、それを実行したいフォルダに貼り付けることになります。 –

関連する問題