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

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

Ветеран


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

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


Например, так:
читать дальше »
Код: Выделить весь код
Option Explicit

Const adDate    =   7
Const adVarChar = 200


Dim strFolder

Dim objFSO
Dim objFile
Dim objRegExp



strFolder = "E:\Песочница\0253"

Set objFSO    = WScript.CreateObject("Scripting.FileSystemObject")
Set objRegExp = WScript.CreateObject("VBScript.RegExp")

objRegExp.Pattern = "archiv\d{8}_\d{6}\.rptk"

If objFSO.FolderExists(strFolder) Then
	With WScript.CreateObject("ADODB.Recordset")
		With .Fields
			.Append "Path",             adVarChar, 2^15 - 1
			.Append "DateLastModified", adDate
		End With
		
		.Open
		.Sort = "DateLastModified DESC"
		
		For Each objFile In objFSO.GetFolder(strFolder).Files
			If objRegExp.Test(objFile.Name) Then
				.AddNew Array("Path", "DateLastModified"), Array(objFile.Path, objFile.DateLastModified)
			End If
		Next
		
		If .RecordCount >= 2 Then
			.MoveFirst
			.MoveNext
			
			With .Fields
				WScript.Echo .Item("DateLastModified").Value, vbTab, .Item("Path").Value
			End With
		Else
			WScript.Echo "No such file"
		End If
			
		
		.Close
	End With
Else
	WScript.Echo "Can't find folder [" & strFolder & "]"
End If

Set objRegExp = Nothing
Set objFSO    = Nothing

WScript.Quit 0

Естественно, если файлов меньше двух — предпоследнего не будет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 15-05-2013 | #2