DOSコマンドで大きなファイルを探す。

DOSコマンドを使ってCドライブの中から大きなファイルを探すやりかたです。

forfiles -s -p e:\ -c “cmd /c if @fsize gtr 10000000000 echo @FDATE @FSIZE @PATH”
オプション内容
@fileファイル名(拡張子も含む)
@fname拡張子無しの基本ファイル名部分
@ext拡張子
@pathファイルのフルパス名
@relpath開始フォルダーからのファイルの相対パス名
@isdirフォルダー名ならTRUE、ファイル名ならFALSE。if内部コマンドと組み合わせ、「/C “cmd /c if @isdir==FALSE notepad.exe @file”」などのように利用する
@fsizeファイルサイズ(bytes単位)
@fdateファイルの更新日
@ftimeファイルの更新時間

更新時間で対象ファイルを絞り込む

/dオプションを使うと、ファイルの更新日付に基づいてファイルを抽出できる。例えば「/d -2008/12/31」とすれば2008年年末までの日付を持つファイルがマッチし、「/d -30」とすれば30日以上前のファイルのみがマッチする。

/d YYYY/MM/DD「YYYY/MM/DD」は年月日。指定された日付以降のもののみがマッチ。例:「/d +2009/01/01」なら2009年以降にマッチ
/d -YYYY/MM/DD指定された日付以前のもののみがマッチ。例:「/d -2008/12/31」なら2008年かそれ以前にマッチ
/d +NNNNNNは日数を表す数字。本日より、NNN日以降のもののみがマッチ(未来の日付を持つファイルの抽出)
/d -NNN本日よりNNN日以前のもののみがマッチ

/dオプションで利用可能な日付/日数指定
「-」を付けるとその日以前のものがマッチし、「+」を付けるとその日以降のものがマッチする。省略すると「+」とみなされる。

この指定方法を使えば、例えば3カ月以上前の(更新日付を持つ)ファイルだけを削除するということが簡単にできる。

3カ月(90日)以上前のファイルの抽出

C:\Document\Folder1>forfiles /d -90

3カ月(90日)以上前のファイルの抽出し削除コマンドがでるか?確認

C:\Document\Folder1>forfiles /d -90 /c “cmd /c echo del @file”

3カ月(90日)以上前のファイルの抽出し削除(Echoなし)

C:\Document\Folder1>forfiles /d -90 /c “cmd /c del @file”

拡張子で検索

/S : サブフォルダも含める

/N : 行番号を付ける

/I : 大文字、小文字を区別しない

テキストのファイル名で「Windows」が付くテキストファイル名で検索

dir /b /S *.txt | findstr /N /l /S “Windows”

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です