Имя пользователя:
Пароль:
 

Название темы: Список обновлений KB
Показать сообщение отдельно

Ветеран


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

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


Попробуйте так:
читать дальше »
Код: Выделить весь код
Option Explicit

Const adInteger  =   3
Const adVarChar  = 200


Dim objRegExp
Dim objFile


Set objRegExp = WScript.CreateObject("VBScript.RegExp")

With objRegExp
	.IgnoreCase = True
	.Pattern = "KB(\d{6,7}).*\.msp"
End With

With WScript.CreateObject("ADOR.Recordset")
	With .Fields
		.Append "KB FileName",                  adVarChar, 2^8 - 1
		.Append "KB Number",                    adInteger
	End With
	
	.Open
	
	For Each objFile In WScript.CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments.Item(0)).Files
		If objRegExp.Test(objFile.Name) Then
			.AddNew
			
			.Fields.Item("KB FileName").Value = objFile.Name
			.Fields.Item("KB Number").Value   = CLng(objRegExp.Execute(objFile.Name).Item(0).SubMatches.Item(0))
		End If
	Next
	
	.Sort = "[KB Number]"
	
	.MoveFirst
	
	Do Until .EOF
		WScript.Echo .Fields.Item("KB FileName")
		.MoveNext
	Loop
	
	.Close
End With

Set objRegExp = Nothing

WScript.Quit 0

Путь к папке указывайте аргументом скрипта, наподобие:
Код: Выделить весь код
cscript.exe //nologo "c:\Scripts\This Script.vbs" "c:\Projects\Office_Updates"

Отправлено: 21:16, 20-10-2012 | #15

Название темы: Список обновлений KB