September 07, 2016

フォルダサイズ取得ツールを作ってみた

SS02-Results
ファイル共有しているPCがある。
いろんな部署が共有フォルダを作っているのだが、どのくらい容量食ってるのか?
ショボいPCでディスク容量少ないけど、今空き容量どのくらいなのか?
ってのを監視しようとフリーウェアを探してみる。
けど、だいたいそのPCに行ってソフトを起動して確認するようなものばかり。
共有フォルダに自動で結果を出力してくれれば自分のPCから確認できるんだが。

で、結局自分でコードを書いちゃった。
機能としては、
指定したドライブの容量と空き容量を表示。
指定したフォルダの容量をリストで表示。(複数指定可)
結果はHTMLファイルでグラフ付きで出力。
と、シンプルなもの。

欲しい方はどうぞ。
ダウンロードはコチラ
Windows用です。VB2008で書いてます。たぶんVBランタイムがいるんじゃないかと。
適当にサクっと作ったのでエラー対策処理とかスカスカです。すみません。
 


■設定方法
FolderSize.exeと同じ場所にあるFolderSize.iniを編集する。

[common]
pc=PC01
↑ ここにPC名(表示に使用するだけ)。

[folder]
name=ドロップボックス<>ワンドライブ<>ワーク
↑ ここにフォルダ名(結果一覧表示に使用するだけ)区切り文字は『<>』で。
folder=D:\Dropbox<>D:\OneDrive<>D:\Work
↑ ここにサイズを知りたいフォルダのパス。区切り文字は『<>』で。
   nameとfolderが対になる
drive=D
↑ 容量と空き容量を調べたいドライブ名。

[result]
file=D:\results.html
↑ 出力結果ファイルのフルパス。

FolderSize.exeをタスクスケジューラで毎朝自動起動させるなどして実行する。

■サンプルコード
とりあえずフォルダ容量を取得する関数のサンプルです。
見よう見まねで書いてみたけど。
この関数に調べたいフォルダのパスをセットして呼んでください。
サイズがでかいと結構時間がかかります。

●呼び方
FolderSize = GetDirectorySize("D:\Dropbox")

●サイズを計算する関数
Public Function GetDirectorySize(ByVal FolderName As String) As Long
    Dim Folder As New IO.DirectoryInfo(FolderName)
    Dim oFolder As IO.DirectoryInfo
    Dim oFile As IO.FileInfo
    Dim TotalSize As Long

    If Folder.Exists = False Then
        Return -1
        Exit Function
    End If

    For Each oFile In Folder.GetFiles()
        TotalSize = TotalSize + oFile.Length
    Next

    For Each oFolder In Folder.GetDirectories()
        TotalSize = TotalSize + GetDirectorySize(oFolder.FullName)
    Next

    Return TotalSize

End Function

参考になれば幸いです。
 
 



    このエントリーをはてなブックマークに追加 mixiチェック

トラックバックURL

コメントする

名前
 
  絵文字
 
 
Counter
  • 今日:
  • 昨日:
  • 累計:

Counter

    Archives
    Categories
    記事検索
    QR Code
    QRコード
    ギャラリー
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • Xiaomi(シャオミ)のビジネスバックパックを買ったのでポケットのサイズを測ってみた
    • 「あなたみたいにコンピュータに詳しくないから」と言うのを考えてみた
    • 裁判所デビューした話(交通事故)
    • 裁判所デビューした話(交通事故)
    • 「子供がスマホをずっと触っている」とオジサン、オバサンが言うのを考えてみた
    GEMS RSS
    Recent Comments
    楽天
    楽天で探す
    楽天市場
    • ライブドアブログ