▼ このように実行されます(Windows10 での例です)
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.
D:\GIMPPortable
6.766 M : 509620891
179.393 M : App
711.864 M : Data
0.441 M : footprint
0.039 M : gimp_effects_scripts
11.003 M : IM00015850-01_RonsApocalypse
0.040 M : Other
8.061 M : photoshop
917.609 M : 表示合計
922.714 M : D:\GIMPPortable のサイズ
5.104 M : D:\GIMPPortable 下のファイル
続行するには何かキーを押してください . . .
' ************************************************ ' 除外フォルダ名を スペースで区切って並べる ' (簡易的な除外) ' ************************************************ Dim Exclude Exclude = ".gem" Exclude = Lcase(Exclude) ' ************************************************ ' 管理者権限で実行用 ' ************************************************ Set Shell = CreateObject( "Shell.Application" ) ' ************************************************ ' 管理者権限で再実行 ' ************************************************ if Wscript.Arguments.Count = 0 then Shell.ShellExecute "cmd.exe", "/c cscript.exe " & Dd(WScript.ScriptFullName) & " next" & " & pause", "", "runas", 1 Wscript.Quit end if ' ************************************************ ' 処理用 ' ************************************************ Set WshShell = CreateObject( "WScript.Shell" ) Set Fso = CreateObject( "Scripting.FileSystemObject" ) Dim target ' ************************************************ ' 対象ディレクトリ ' ************************************************ target = SelectDir( "対象フォルダを選択して下さい" ) if target = "" then Wscript.Quit end if Wscript.Echo target Wscript.Echo ' ************************************************ ' フォルダオブジェクト取得 ' ************************************************ Set objFolder = Fso.GetFolder(target) ' ************************************************ ' サブフォルダコレクション取得 ' ************************************************ Set colSubFolder = objFolder.SubFolders ' ************************************************ ' 一覧 ' ************************************************ Dim TargetSize : TargetSize = 0 For Each obj in colSubFolder Do While true if InStr(Exclude,Lcase(obj.Name)) > 0 then Exit Do end if on error resume next Wscript.Echo Lpad(FormatNumber((Fix(obj.Size / 1024) / 1024),3)," ", 15) & " M : " & obj.Name if Err.Number <> 0 then Wscript.Echo " ( " & obj.Name & " : 処理できません )" else TargetSize = TargetSize + obj.Size end if on error goto 0 Exit Do Loop Next Wscript.Echo Dim AllSize Dim er : er = 0 on error resume next AllSize = objFolder.Size if Err.Number <> 0 then er = 1 AllSize = TargetSize end if on error goto 0 Wscript.Echo Lpad(FormatNumber((Fix(TargetSize / 1024) / 1024),3)," ", 15) & " M : " & "表示合計" if er = 1 then Wscript.Echo " ( " & target & " のサイズは取得できませんでした )" else Wscript.Echo Lpad(FormatNumber((Fix(AllSize / 1024) / 1024),3)," ", 15) & " M : " & target & " のサイズ" end if Dim fsize : fsize = 0 For Each file in objFolder.files fsize = fsize + file.size Next Wscript.Echo Lpad(FormatNumber((Fix((fsize) / 1024) / 1024),3)," ", 15) & " M : " & target & " 下のファイル" Wscript.Echo ' ************************************************ ' ディレクトリ選択 ' ************************************************ Function SelectDir( strTitle ) Dim obj Set obj = Shell.BrowseForFolder( 0, strTitle, &H4B, 0 ) if obj is nothing then SelectDir = "" Exit Function end if if not obj.Self.IsFileSystem then ErrorMessage = "ファイルシステムではありません" SelectDir = "" Exit Function end if SelectDir = obj.Self.Path End Function ' ************************************************ ' ダブルクォートで囲む ' ************************************************ Function Dd( strValue ) Dd = """" & strValue & """" End function ' ************************************************ ' 指定数、指定文字列左側を埋める ' ************************************************ Function Lpad( strValue, str, nLen ) Lpad = Right( String(nLen,str) & strValue, nLen ) End Function
Windows の都合で読み込めないフォルダはメッセージを表示して読み飛ばしています。その場合、合計に反映されないので注意して下さい。また、その場合は対象としたフォルダに対するサイズも取得に失敗するので、表示合計のみの表示となります
|
|
【VBScriptの最新記事】
- 【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項
- VBScript で GUID 生成
- Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る
- バックアップスクリプトを作るスクリプト
- バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し
- 【VBS + Excel】シンプルな詳細設計書のフォーマット。1) Excel のダウンロード、2) VBScript で作成するサンプル
- VBScript : CAPICOM を使った通常文字列の Base64エンコードと SHA1 と MD5 と SHA256/384/512
- 【VBS汎用】SHIFT_JISデータを各種キャラクタセットのテキストファイルへ変換
- VBScript : デスクトップの列挙
- Excel シートから Basp21 を使用してメールの送受信をして、今後の何かに役立てる
- VBScript + clipコマンド + レジストリ登録で、エクスプローラのディレクトリの右クリックでファイル名のリストをクリップボードにコピーできるようにする
- VBScript(WMI) : OSの情報をコマンドプロンプトに一覧で表示する
- VBScript(WMI) : 共有一覧
- IE のお気に入りディレクトリにあるファイルの表示・非表示を設定する / HTA(HTML アプリケーション)
- VBScript(WMI) : システム環境変数の変更を監視する event_change_reg.wsf
- VBScript : スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録
- XMLファイルの書き換え (VBScript)
- VBScript から実行する PHPコードの PDF処理のサンプル
- Cscript.exe の引数と、Windows Script Host を無効にするレジストリ設定
- Access.Application ( docmd.TransferText ) でエクスポートとインポート




























