DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[ スレッド内全3レス(親記事-3 表示) ] <<
0
>>
■34866
/ 親記事)
ファイルがドライブ内で占有する容量
▼
■
□投稿者/ Iraquser
一般人(1回)-(2021/08/12(Thu) 06:55:16)
環境/言語:[Win10 VB.NET]
分類:[.NET]
詳細は省略しますが、特定フォルダ内の特定の条件に当てはまる複数ファイルを削除するプログラムを作成しようとしています。ファイル削除後のドライブ空き容量を削除処理実行前に表示したいです。個々のファイルがドライブ内で占有する容量を見積もる方法についてアドバイス下さい。多少の誤差は仕方ないと考えています。
マルチポストを報告
Javascriptを有効にしてください
この投稿がマルチポスト(全く同じ内容の投稿が別の掲示板に投稿されている)の場合は、以下のフォームをご利用いただくと、報告の投稿が簡単に行えます。
このフォームに必要事項を入力後、「返信フォームに入力する」ボタンをクリックすると、このページの下にある
返信フォーム
の項目が自動的に埋まります。実際に投稿するには、その後、返信フォームの「送信」ボタンをクリックしてください。
このフォームを利用しても返信フォームが埋まるだけですので、後で書き直してから投稿することもできます。
「マルチポストされている場所」には、マルチポストされている場所のURLを入力してください。複数のURLを改行区切りで入力することができます。
マルチポストされている場所
オプション
マルチポスト先の投稿が、別人によるいたずらである可能性が高い
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34870
/ ResNo.1)
Re[1]: ファイルがドライブ内で占有する容量
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1386回)-(2021/08/12(Thu) 09:23:20)
■
No34866
に返信(Iraquserさんの記事)
> 個々のファイルがドライブ内で占有する容量を見積もる方法について
> アドバイス下さい。多少の誤差は仕方ないと考えています。
高速化が目的なら、低レベル処理とはなりますが、
WizTree のように MFT を直接読み取るという選択肢がありそうです。
とはいえ、こちらは当方に知識が無いので何とも言えないところ。
https://forest.watch.impress.co.jp/library/software/wiztree/
https://www.vector.co.jp/soft/dl/winnt/prog/se508167.html
簡易的な処理となれば、単純にはファイルサイズを合計することになるでしょう。
列挙については、.NET Framework よりも .NET 6/.NET 5 の方が効率が良いですが、
今回は列挙については問題視しておらず、個々のファイルサイズの求め方が
必要ということなのですね?
https://gist.github.com/Benshi/af8d0bb4bc1ae28768567f72f0b87120
厳密には、ファイルサイズだけを見ても判断できないのが厄介な点ですね。
懸念材料としては下記などが思い当たりますが、これらにどこまで対応するかで
「多少の誤差」の精度が変わってきそうです。
(1)消費量を求めるには、ファイルサイズだけでなく、
ストレージのセクタ・クラスタの単位まで考慮する必要がある。
http://tooljp.com/windows/doc/cluster-sector-difference/cluster-sector-difference.html
https://oshiete.goo.ne.jp/qa/4343309.html
→ファイル数が多くなるほど(そして個々のファイルが小さいほど)、誤差が累積する。
(2)小容量のファイルの場合、MFT 内に記録されることで(resident)、
見た目上の容量消費が 0 になりえる。
http://tooljp.com/qa/size-0byte-on-disk-E846.html
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/ntfs-filesystem-structure/
(3)ディスクは「ドライブ」だけでなく「フォルダー」にも割り当てできるため、
上位のフォルダーと下位のフォルダーで空き容量が変化することがある。
https://docs.microsoft.com/ja-jp/windows-server/storage/disk-management/assign-a-mount-point-folder-path-to-a-drive
そのほか、データ重複削除、圧縮ファイル、代替データストリーム、スパースファイル、
シンボリックリンク、ハードリンク、ジャンクションなど…。
https://ascii.jp/elem/000/001/550/1550399/
https://so-da.tech/tech/infra/winsv-data-deduplication-1/
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34871
/ ResNo.2)
Re[2]: ファイルがドライブ内で占有する容量
▲
▼
■
□投稿者/ Iraquser
一般人(2回)-(2021/08/12(Thu) 13:17:07)
■
No34870
に返信(魔界の仮面弁士さんの記事)
魔界の仮面弁士さん、丁寧なアドバイス有難うございます。
ファイルがクラスターサイズ単位で切り上げられて容量を消費する事については何となく想像していました。
「多少の誤差」についてですが、不要ファイル削除後のディスク容量を推測したいって程度ですので、(1)でご説明頂いた方式のみで対応しようと思っています。
本当にありがとうございました。今後もよろしくお願いします。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34873
/ ResNo.3)
Re[3]: ファイルがドライブ内で占有する容量
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1388回)-(2021/08/12(Thu) 15:44:25)
■
No34871
に返信(Iraquserさんの記事)
> 「多少の誤差」についてですが、不要ファイル削除後のディスク容量を推測したいって程度ですので、(1)でご説明頂いた方式のみで対応しようと思っています。
クラスターを考慮した取得コードを書いてみました。
拡張メソッドにしてあります。
(2) の resident なファイルには対応できていませんが、
圧縮属性やオフライン属性の付いたファイルの占有サイズなら拾えます。
https://gist.github.com/Benshi/d115f057b81aa61e257186dbea49f9db
さて、(2) はどうやって判定すればよいのだろう…。
https://qiita.com/kusano_k/items/45b0a86649aabb8040ff
https://github.com/search?q=PowerForensics+resident&type=code
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
半角カナは使用しないでください。文字化けの原因になります。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
投稿前に必ずお読みください
初めて投稿される方は、必ず「
書き込みのルールについて(12/4/2更新)
」をお読みください。
読むのが面倒、ルールを守りたくないという方は、「
お気楽掲示板
」へ投稿してください。
質問を投稿する場合は、「
質問をする際のアドバイス
」を参考にしてください。
投稿は、明記のない限り、パブリックドメインになります。
マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください。以下のリンクをクリックしていただくと、自動で下のフォームが埋まりますので、その後「送信」ボタンを押してご投稿ください。
マルチポストの報告をする
マルチポストの報告をするが、マルチポスト先の投稿が嫌がらせである(元の投稿者とは別人が行なっている)可能性が高い
(投稿日時に開きがあり、こちらの投稿の方が早い場合は、その可能性が高いです)
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.png
/.zip
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
20KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/300KB]
残り:[300KB]
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
クリエイティブ・コモンズ・ライセンス
を Comment の末尾に挿入するには、以下のリンクをクリックしてください。(Javascript で挿入しているだけです。)
表示(CC BY)
|
表示-改変禁止(CC BY-ND)
|
表示-継承(CC BY-SA)
|
表示-非営利(CC BY-NC)
|
表示-非営利-改変禁止(CC BY-NC-ND)
|
表示-非営利-継承(CC BY-NC-SA)
プレビュー/
クッキーに保存しない/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-