Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата bombording:
Возможно ли, что бы скрипт так же собирал информацию о размере определенной локальной папки? Скажем C:\Program Files\Work »
Код: Выделить весь код
Option Explicit

Dim strComputer
Dim strFolder

Dim objSWbemLocator
Dim objSWbemServicesEx


strComputer = "."
strFolder   = "C:\Program Files\Far Manager"

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

WScript.Echo GetSizeOfFolder(objSWbemServicesEx.Get("Win32_Directory.Name='" & strFolder & "'"))

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
Function GetSizeOfFolder(objSWbemObjectEx_Win32_Directory)
	Dim lngFileSize
	Dim objSWbemObjectEx
	
	lngFileSize = 0
	
	For Each objSWbemObjectEx In objSWbemObjectEx_Win32_Directory.Associators_("Win32_SubDirectory", "Win32_Directory", "PartComponent")
		lngFileSize = lngFileSize + GetSizeOfFolder(objSWbemObjectEx)
	Next
	
	For Each objSWbemObjectEx In objSWbemObjectEx_Win32_Directory.Associators_("CIM_DirectoryContainsFile", "CIM_DataFile")
		lngFileSize = lngFileSize + objSWbemObjectEx.FileSize
	Next
	
	GetSizeOfFolder = lngFileSize
End Function
'=============================================================================
NB! Существование папки никак не проверяется.

Отправлено: 19:04, 27-09-2013 | #2