情報
概要
むくさんの全フォルダ列挙を利用させて頂きました。ありがとうございます。
フォルダサイズを取得します。
拡張子を指定してサイズを取得することもできます。
ビジー状態があんまり続かないように、全フォルダ取得→ファイル取得 の二行程にしました。
#経過ログ
のところを直接いじって下さい。
解説
引数
FOLDER:フォルダ(拡張子指定可)
返り値
合計サイズ(単位バイト)
サンプルプログラム
「{フォルダ選択}*.jpg;*.gif;*.png」のフォルダサイズ取得。
それを言う。
//本体
●フォルダサイズ取得(FOLDERの|FOLDERで|FOLDERを)
合計サイズ=0。
目的ファイル=FOLDERからファイル名抽出。
FOLDER=FOLDERからパス抽出。
もし、FOLDERのフォルダ存在=いいえならば、「-1」で戻る。
フォルダリスト=FOLDERで全フォルダ列挙。
フォルダリストで反復
#-----------------------------------------------------------------------
#経過ログ
もし、(回数=1)または(回数%10=0)ならば、母艦のタイトル=「{回数}/{フォルダリストの配列要素数}...{合計サイズ},{対象}」。0.001秒待つ。
#-----------------------------------------------------------------------
(「{対象}{目的ファイル}」の絶対パスファイル列挙)で反復
合計サイズ=合計サイズ+(対象のファイルサイズ)。
合計サイズ=INT(合計サイズ)。
合計サイズで戻る。
●絶対パスファイル列挙({文字列=?}Sの|Sを|Sで)
M=Sからファイル名抽出。S=Sからパス抽出。
A=Sの終端パス追加。B=「{A}{M}」のファイル列挙。C=空。
Bで反復、「{A}{対象}」をCに配列追加。
Cで戻る。
●全フォルダ列挙(FOLDERで|FOLDERの|FOLDERを)
A=FOLDER。
B=FOLDERで全フォルダ列挙改。
Bで反復、対象をAに配列追加。
Aで戻る。
●全フォルダ列挙改({=0}全体合計と{配列=?}パスリストで|パスリストの|パスリストを)
もし、パスリストが空ならば、パスリストは母艦パス。
Yとは変数。Yは空。
パスリストを反復
今合計=全体合計+(Yの配列要素数)
#-----------------------------------------------------------------------
#経過ログ
もし、(回数=1)または(回数%10=0)ならば、母艦のタイトル=「{今合計}...{対象}」。0.001秒待つ。
#-----------------------------------------------------------------------
対象でフォルダ列挙改。
それを反復、対象をYに配列追加
全体合計=全体合計+(Yの配列要素数)。
もし、Yが空ならば、Yで戻る。
全体合計とYで全フォルダ列挙改。
それを反復、対象をYに配列追加
Yで戻る。
●フォルダ列挙改(パスで|パスの|パスを)
Xとは変数。Xは空。
もし、パスが空ならば、空で戻る。
パスのフォルダ列挙。
それを反復、パス&対象&「\」をXに配列追加
Xで戻る。
最終更新:2009年05月31日 17:27