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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Как на VBS выбрать файл

Ответить
Настройки темы
VBS/WSH/JS - [решено] Как на VBS выбрать файл

Пользователь


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

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


Такая задача: есть файлы с названием archiv15052013_134956, archiv06052013_110003, archiv25042013_110014 и так далее, archiv - неизменная часть, дальше дата и время, необходимо выбрать из этих файлов предпоследний. Можно по названию, можно по дате изменения файла. Как это реализовать на vbs?
Всё до чего я пока додумал - несколько строк.
Код: Выделить весь код
For Each File in objFolder.Files

If LCase(filesys.GetExtensionName(File)) = "rptk" AND _
DateDiff("D", File.DateLastModified, Now) <  AND _
DatePart("h", File.DateLastModified)   Then
File.Delete true
End If
Next
может подскажет кто-нибудь?

Отправлено: 14:13, 15-05-2013

 

Ветеран


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

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


Iska, огромнейшее спасибо

Последний раз редактировалось RazdoR, 16-05-2013 в 09:08.


Отправлено: 08:53, 16-05-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Как на VBS выбрать файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Как в VBS запустить файл exe из расшаренной папки без этого запроса? rustless Программирование и базы данных 8 28-06-2012 17:51
Офис и Текст - Файл формата JPG(файл на английском,как перевести на русский?) pav83 Программное обеспечение Windows 10 13-05-2011 16:52
Разное - Нужен файл killVBS.vbs 8Toxa8 Лечение систем от вредоносных программ 6 25-06-2010 23:17
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs nod201 Скриптовые языки администрирования Windows 0 05-12-2009 05:44
Разное - [решено] Файл *.VBS открывает блокнот Bester Microsoft Windows 2000/XP 3 10-12-2007 11:30




 
Переход