Quantcast
Viewing all articles
Browse latest Browse all 1459

vbsでフォルダサイズを出すスクリプトが、容量の大きいフォルダを参照する際にエラーで止まる。

お世話になります。

VBSのカテゴリが見つからずこちらに…

下記スクリプトにて、ファイルサーバーの指定フォルダ配下の情報を出力したいのですが、
csv出力が途中まで進んでエラーして止まってしまいます。

エラーする箇所(フォルダ)は毎回同じで、フォルダサイズの出力だけスクリプトから外すと正常に終了することから、
恐らく検索しているフォルダのサイズが大きすぎることが原因なのではないかと思っています。

2GB程度のフォルダは正常に出力されますが、毎回止まるフォルダのサイズは50GB程あり、
該当フォルダは右クリックのプロパティ表示でサイズ計算に30秒程かかります。

どのようにすれば、フォルダサイズも含め全て出力出来るかご教授頂けないでしょうか。

↓エラー内容

スクリプト:
行:53
文字:1
エラー:パスが見つかりません。
コード:800A004C
ソース:Microsoft VBScript実行時エラー

↓スクリプト

'------------------------------' csv作成 '------------------------------

On Error Resume Next

'csv出力先フォルダ 
RESULT_DIR = "D:"

'FileSystemObject生成
Set fso = CreateObject("Scripting.FileSystemObject")

'CSV作成
Set resultfile = fso.CreateTextFile(RESULT_DIR & "\" & "result.csv",True)
resultfile.WriteLine deps & "PATH" & "," & "FolderName" & "," & "Size" & "," & "LastModified"

'Sub呼び出し
Call Query_Directory("\\fileserver01\share",1)

'------------------------------' 検索Sub '------------------------------
Sub Query_Directory(PATH,i)

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFOLDERS = objFSO.GetFolder(PATH)

'フォルダがあればフォルダの中をさらに展開
For Each Folder In objFOLDERS.SubFolders

'フォルダ情報出力(パス、容量、最終更新日)
'resultfile.WriteLine Folder.path & "," & Folder.name & "," & Round(Folder.size /1048576, 2) & "MB" & _
'"," & DateValue(Folder.DateLastModified)

'↑Folder.sizeを外すと正常終了します

If i > 0 Then
Call Query_Directory(Folder,i-1)
End If

Next

Set objFSO = Nothing
Set objFOLDERS = Nothing
End Sub


Viewing all articles
Browse latest Browse all 1459

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>