ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
ディレクトリ内のディレクトリサイズ一覧
日時: 2013/05/02 00:10
名前: lightbox



【ASPの場合】 

※ 対象ディレクトリの構造によっては、時間のかかる処理となるので注意が必要です

http://winofsql.jp/wsf/folder_size.asp

<%
' **********************************************************
' HTTP ヘッダ
' **********************************************************
Call Response.AddHeader( "Content-Type", "text/html; Charset=shift_jis" )
Response.ExpiresAbsolute=#May 31,2000 23:59:59#

' **********************************************************
' laylaClass 読み込み
' **********************************************************
Set obj = CreateObject("Msxml2.ServerXMLHTTP.3.0")
strUrl = "http://homepage2.nifty.com/lightbox/laylaClass.vbs"
on error resume next
Call obj.Open("GET", strUrl, False )
if Err.Number <> 0 then
	Response.Write Err.Description
	Response.End
end if
on error goto 0
obj.Send
strFunction = obj.responseText
ExecuteGlobal strFunction
Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )

GetFso

' **********************************************************
' 対象ディレクトリ
' **********************************************************
target = "対象となるフルパス"

' **********************************************************
' フォルダオブジェクト取得
' **********************************************************
Set objFolder =  Fso.GetFolder(target)

' **********************************************************
' サブフォルダコレクション取得
' **********************************************************
Set colSubFolder = objFolder.SubFolders

' **********************************************************
' 一覧
' **********************************************************
Response.Write "<TABLE>"
For Each obj in colSubFolder

	Response.Write "<TR>"
	Response.Write "<TD>"
	Response.Write obj.Name
	Response.Write "</TD>"
	Response.Write "<TD style='text-align:right'>"
	on error resume next
	Response.Write FormatNumber((Fix(obj.Size / 1000) / 1000),3) & " M" 
	if Err.Number <> 0 then
		Response.Write Err.Description
	end if
	on error goto 0
	Response.Write "</TD>"
	Response.Write "</TR>"

Next
Response.Write "</TABLE>"

%>
メンテナンス

WSH の場合 ( No.1 )
日時: 2013/05/02 00:11
名前: lightbox


日時: 2013/05/02 00:11
名前: lightbox
http://winofsql.jp/wsf/folder_size.wsf

<JOB>
<COMMENT>
************************************************************
 WEB WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://homepage2.nifty.com/lightbox/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )

' ***********************************************************
' Cscript.exe で強制実行
' ***********************************************************
Crun

' **********************************************************
' 対象ディレクトリ
' **********************************************************
target = SelectDir( "対象フォルダを選択して下さい" )
if target = "" then
	Wscript.Quit
end if

' **********************************************************
' ファイルシステムオブジェクト
' **********************************************************
GetFso

' **********************************************************
' フォルダオブジェクト取得
' **********************************************************
Set objFolder =  Fso.GetFolder(target)

' **********************************************************
' サブフォルダコレクション取得
' **********************************************************
Set colSubFolder =  objFolder.SubFolders

' **********************************************************
' 一覧
' **********************************************************
For Each obj in colSubFolder

	on error resume next
	Wscript.Echo Lpad(FormatNumber((Fix(obj.Size / 1000) / 1000),3)," ", 15) & " M : " & obj.Name
	if Err.Number <> 0 then
		Wscript.Echo obj.Name & ":" & Err.Description
	end if
	on error goto 0

Next

</SCRIPT>
</JOB>
このアーティクルの参照用URLをクリップボードにコピー メンテナンス
HTA の場合 ( No.2 )
日時: 2013/05/02 00:11
名前: night walker

http://winofsql.jp を信頼するサイトに登録すると、「実行」で即実行可能です。




http://winofsql.jp/wsf/folder_size.hta

<SCRIPT
	language="VBScript"
	src="http://homepage2.nifty.com/lightbox/laylaClass.vbs">
</SCRIPT>
<SCRIPT	language="VBScript">

Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )

' **********************************************************
' 実行
' **********************************************************
Function FolderSize()

' 対象ディレクトリ
target = SelectDir( "対象フォルダを選択して下さい" )
if target = "" then
	Exit Function
end if

' **********************************************************
' ファイルシステムオブジェクト
' **********************************************************
GetFso

' **********************************************************
' フォルダオブジェクト取得
' **********************************************************
Set objFolder =  Fso.GetFolder(target)

' **********************************************************
' サブフォルダコレクション取得
' **********************************************************
Set colSubFolder =  objFolder.SubFolders

Set node = document.createElement("TABLE")
Call node.setAttribute( "cellspacing", "1" )

' **********************************************************
' 一覧
' **********************************************************
For Each obj in colSubFolder

	Set elementRow = document.createElement("TR")

	Set elementCol = document.createElement("TD")
	Set text = document.createTextNode(obj.Name & "")
	elementCol.appendChild( text )
	elementRow.appendChild( elementCol )

	Set elementCol = document.createElement("TD")
	Call elementCol.setAttribute( "align", "right" )
	on error resume next
	Set text = document.createTextNode(FormatNumber((Fix(obj.Size / 1000) / 1000),3) & " M")
	if Err.Number <> 0 then
		Set text = document.createTextNode(Err.Description)
	end if
	on error goto 0
	elementCol.appendChild( text )
	elementRow.appendChild( elementCol )

	node.appendChild( elementRow )

Next

Set dispArea = document.getElementById("disp")
dispArea.appendChild(node)

dispArea.innerHTML = dispArea.innerHTML

End Function

</SCRIPT>

<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<STYLE type="text/css">
* {
	font-size: 12px;
	font-family:Verdana,'MS ゴシック';
}
BODY {
	background-color:forestgreen;
}
TABLE {
	background-color:black;
}
TD {
	padding: 5px;
	background-color:white;
}
</STYLE>
</HEAD>
<BODY>

<INPUT type="button" value="実行" onClick='Call FolderSize()'>
<br /><br />
<DIV id="disp"></DIV>

</BODY>
</HTML>
このアーティクルの参照用URLをクリップボードにコピー メンテナンス