[サイトTop] [As/R Top] [ヘルプTop] [戻る]
小ネタ&珍しい機能フォルダーのサイズの一覧表示/フォルダ内に含まれている数/天文学的なサイズなどフォルダーの下位階層に含まれるファイルの合計が欲しい時って、わりと良くあるシーンだと思います。 ファイル整理している途中だったり、整理すべきフォルダーを調べたり、占有率を判断したりとか、色んな指標になりえます。 とはいえ、下位階層のフォルダまでどんどん潜ってファイルのサイズを計算するとなると、常時フォルダサイズを求めるなんて、とんでもなく愚策ということが推測できると思います。 例えば「c:\」のサイズを求めたら軽く何十万ファイルのカウントをしなきゃなりません。 つまり、フォルダーサイズの取得って、数学的にめちゃくちゃ重い処理なんですよ。 というわけで、必要な時に簡単な操作で求められるってぇのが、理想的な動作なんじゃないかと思います。 初期状態のコマンドモードで、ハイフン - キーを押下します。 数字の0の隣のマイナス記号のキーです。 メインメニューからは表示→フォルダサイズ計算コマンドを実行します。 すると、リストで選択しているフォルダーの下位階層のファイルを検索し、合計サイズ、ファイル数、フォルダ数が一覧に表示されます。 リストで何も選択していない場合は、現在のフォルダー以下の全てのフォルダーが対象になります。 注意事項といってはなんですが、「一覧」や「アイコン(隠し機能)」「アイコンのみ(隠し機能)」などのように、サイズ表記のない表示モード、あえてサイズ表示を消している「詳細」ではサイズ表示されないので、ご注意ください。 (Ver.6.1.0以前は「詳細一覧」「簡易詳細」でしか使えない制限もあります) スクリーンショットを掲示しておきますが ↓ - キーを押下 ファイル名の横に、下位の階層に存在したディレクトリとファイルの数と、サイズが表示されました。 上の段は1.49EB(エクサバイト)という、現在のHDD制御の限界を5~6桁くらい超えてる数字になってますが、不具合じゃありません。 単に15.63TB(テラバイト)のファイルを10万個放り込んでるので、こんな天文学的な数字になってるだけです。 スパースファイルを作ってるだけなので(スワップメモリとかに使われている技術)、実際にHDD容量を消費してるわけではないです。 ちょっと脱線しましたが、さらっと重要なポイントです。 このフォルダーのサイズ表示は、現在のフォルダーを移動したり、表示モードを切り替えたり「最新の情報に更新」コマンドを実行すると表示が消えますが、並び順の変更では保持されます。 つまり、「サイズの大きいフォルダー順」に並び替えることもできるというわけです。 巨大ファイルの作り方、大量のダミーファイルの作り方巨大なファイルの作り方や、大量のダミーファイルの作り方に興味があるってぇ人がいらっしゃいましたので追記です。 システム開発なんてことをやってると、テストという工程は必ず発生します。 そこで、色んなケースを想定して、ちゃんと動作するか確認していく作業って、色んなことを想定しなければならないものです。 例えば、巨大なファイルを作成したりとか、大量にファイルを作成したりとか、というミッションが発生するわけです。 ぶっちゃけた話をしますと、As/Rの動作テストには1つのフォルダに100万個のファイルあるような環境とか、ファイルの合計がTB(テラバイト)、PB(ペタバイト)、EB(エクサバイト)単位になるようなケースとか、通常使用しないであろうレベルのテストをわりと日常的にやってます。 指標として100万個のファイルあるような環境で普通にサクサク使えることが目安なので、当然のことなんですがね。 まぁ、As/Rの初出の頃にソフト開発やってる人からすると「100万個もファイルがあるフォルダ」の操作って正気の沙汰とは思われませんでしたが、作りようによっては十分実用に耐えうるモノになるって実例になるかと思います。 どうせ、10年くらいたったら必要な桁が2個くらい増えそうな気もしますし。 そんなわけでテスト用のファイルを大量に、巨大なものを作成するというコマンドが、As/Rには同梱されています。 せっかく作ったんだから、同梱しとけ・・・配布物に入れておけば、テストツールであってもそれなりにメンテナンスするだろうし、という流れですね。 もちろんfsutilコマンドとかスパースファイルを作るコマンドがありますけど、大量に作るとなると、かなりめんどくさいことになるのでので、このコマンドが生まれたという経緯です。 ファイルの場所はこちらです。 キー割り当て専用のコマンドで、メインメニューには載ってないので、そのまま起動しちゃってください。 <インストールフォルダ>\command\Default\MakeBigFile.exe 起動すると こんな画面が表示されます。 使い方の詳しくは、このコマンドのヘルプも参照してみてください。(ダイアログ画面でF1押す) 任意の数の、任意のサイズのファイルを作成できますので、大量かつ、巨大なファイルを作成する事が可能になってます。 ちなみに、ディスクの圧縮機能を使用していたら、ディスクの占有率を抑えつつ、巨大な実体を持つファイルの運用テストをすることも可能です。 逆に、圧縮率がとんでもなく高くなるので、圧縮系のテストには向きません。 なお、大量にファイルを作成するには、それなりの時間がかかります。 また10万を超えるファイルを持つフォルダを作成する場合は、インデックスサービスの対象にならないように、ウィルススキャンのサーチ対象にならないように、TotoiseSVNのようにバージョンチェックの対象にならないようにし、ルートより2階層以上は下の階層のディレクトリに作成してください。 やってみりゃわかりますが、この手のフォルダーはエクスプローラーで踏むとフリーズしかねませんし、慎重に行動することをお奨めします。 |