001.
002.
003.
004.
String.prototype.number_format =
005.
function
(prefix) {
006.
var
num =
this
.valueOf();
007.
prefix = prefix ||
''
;
008.
num +=
''
;
009.
var
splitStr = num.split(
'.'
);
010.
var
splitLeft = splitStr[0];
011.
var
splitRight = splitStr.length > 1 ?
'.'
+ splitStr[1] :
''
;
012.
var
regx = /(\d+)(\d{3})/;
013.
while
(regx.test(splitLeft)) {
014.
splitLeft = splitLeft.replace(regx,
'$1'
+
','
+
'$2'
);
015.
}
016.
return
prefix + splitLeft + splitRight;
017.
}
018.
019.
020.
021.
022.
var
Shell =
new
ActiveXObject(
"Shell.Application"
);
023.
var
WshShell =
new
ActiveXObject(
"WScript.Shell"
);
024.
var
Fso =
new
ActiveXObject(
"Scripting.FileSystemObject"
);
025.
026.
027.
028.
029.
if
( WScript.Arguments.length == 0 ) {
030.
Shell.ShellExecute(
"cmd.exe"
,
"/c cscript.exe "
+ Dd(WScript.ScriptFullName) +
" next"
+
" & pause"
,
""
,
"runas"
, 1 );
031.
WScript.Quit();
032.
}
033.
034.
035.
var
target = SelectDir(
"対象フォルダを選択して下さい"
)
036.
if
( target ==
""
) {
037.
WScript.Quit();
038.
}
039.
040.
WScript.Echo( target )
041.
042.
043.
044.
045.
var
objFolder = Fso.GetFolder(target)
046.
047.
var
folderCollection =
new
Enumerator(objFolder.SubFolders);
048.
049.
var
TargetSize = 0;
050.
var
obj;
051.
var
num;
052.
var
line;
053.
for
( ;!folderCollection.atEnd(); folderCollection.moveNext()) {
054.
055.
obj = folderCollection.item();
056.
057.
try
{
058.
num = Math.floor(obj.Size / 1024) / 1024;
059.
num = Math.floor( num * 1000 ) / 1000
060.
line = Lpad((
""
+ num).number_format(),
" "
, 15) +
" M : "
+ obj.Name
061.
WScript.Echo( line );
062.
063.
064.
TargetSize = TargetSize + obj.Size
065.
}
066.
catch
(e) {
067.
WScript.Echo( obj.Name +
" : 処理できません"
);
068.
}
069.
070.
}
071.
072.
WScript.Echo(
""
);
073.
074.
num = Math.floor(TargetSize / 1024) / 1024;
075.
num = Math.floor( num * 1000 ) / 1000
076.
line = Lpad((
""
+ num).number_format(),
" "
, 15) +
" M : "
+
"表示合計"
077.
WScript.Echo( line );
078.
079.
080.
081.
082.
function
SelectDir( strTitle ) {
083.
084.
var
obj
085.
086.
obj = Shell.BrowseForFolder( 0, strTitle, 0x4B, 0 )
087.
if
( obj ==
null
) {
088.
return
""
;
089.
}
090.
if
( !obj.Self.IsFileSystem ) {
091.
ErrorMessage =
"ファイルシステムではありません"
;
092.
return
""
;
093.
}
094.
095.
return
obj.Self.Path;
096.
097.
}
098.
099.
100.
101.
102.
function
Dd( strValue ) {
103.
104.
return
"\""
+ strValue +
"\""
105.
106.
}
107.
108.
109.
110.
111.
112.
function
Lpad( strValue, str, nLen ) {
113.
114.
var
i;
115.
var
wk =
""
;
116.
117.
for
( i = 0; i < nLen; i++ ) {
118.
wk += str;
119.
}
120.
121.
var
test = strValue.split(
"."
);
122.
if
( test.length == 2 ) {
123.
if
( test[1].length == 0 ) {
124.
strValue +=
"000"
125.
}
126.
if
( test[1].length == 1 ) {
127.
strValue +=
"00"
128.
}
129.
if
( test[1].length == 2 ) {
130.
strValue +=
"0"
131.
}
132.
}
133.
else
{
134.
strValue +=
".000"
135.
}
136.
137.
return
( wk + strValue ).slice( nLen * -1 );
138.
139.
}