こんばんは!先日、「共有フォルダが一杯になってしまった。共有フォルダ内の大きいファイルから検索して削除したいのですが方法などありますか?」という問い合わせを受けましたのでコマンドプロンプトでファイルを抽出する方法を備忘録にしました。
確かに、システム管理者側から見ると共有フォルダなどはファイルサーバーマネージャーでクウォータ(容量制限)をしているので使用率などは解ります。しかしどれが大きいファイルなのか探す場合は、どのような方法で検索した方が良いんだろう!?と私も思ってしまったので調べました。
目次
共有フォルダのファイルサイズを確認する方法
共有フォルダ等をエクスプローラーで確認するとファイルのサイズは解りますが、フォルダサイズは表示されません。本当はフォルダサイズまで表示されると便利なのですがWindows標準の機能では表示はされません。これだと使用するユーザーからだと、どのファイルが大きくて容量を圧迫しているのか解りません!
もし1つのフォルダのサイズを確認したい場合は、対象フォルダを選択 > 右クリック > プロパティ をクリックすることでフォルダ容量が表示されます。
しかし、組織の共有フォルダは大量のファイルやフォルダが散りばめられているため1つ確認する暇がないのが現状だと思います。
共有フォルダ ファイルサイズを確認するコマンド forfiles
共有フォルダから2MB以上のファイルを確認する方法をコマンドプロンプトで紹介します。下記の構文になります。
■2MB以上のファイルを検索する
forfiles /s /p “対象パス” /c “cmd /c if @fsize gtr 2097152 echo @fdate @fsize @path”
上記の”対象パス”部分に共有フォルダのパスを入力すればOKです。gtrでファイルサイズをバイト単位で指定します。
- 1MB(メガ) = 1024KB(キロ) = 1048576B(バイト)
- 2MB(メガ) = 2048KB(キロ) = 2097152B(バイト)
- 3MB(メガ) = 3072KB(キロ) = 3145728B(バイト)
共有フォルダのクウォータ(容量制限)が大きければ大きいほど検索に時間がかかるため表示結果が遅くなります。
共有フォルダ ファイルサイズを抽出するコマンド forfiles
共有フォルダから2MB以上のファイルを確認しcsvファイルに抽出する方法になります。下記の構文になります。
■2MB以上のファイルを検索しファイルを出力する
forfiles /s /p “対象パス” /c “cmd /c if @fsize gtr 2097152 echo @fdate @fsize @path” > test.csv
使い方は先ほど紹介したコマンドと同じですが、末尾に >(リダイレクト) を付けることでCSVファイルとして出力しています。
forfiles コマンド ファイルサイズ 確認方法 まとめ
- forfilesコマンドのファイルサイズ指定はバイト単位になる
- KBやMBのファイルを検索するときはバイト単位に変換すること
- 共有フォルダの容量が大きいほど時間がかかる
- CSVで出力しておけば後で確認ができる
バッチファイルにしておけばいつでもクリックするだけで確認が出来ますので作成しておくと便利になります。
それではー!