VBS/WSH/JS - [решено] Найти файл по части имени

Ответить
Аватара пользователя
bombording

VBS/WSH/JS - [решено] Найти файл по части имени

Сообщение bombording »

Добрый день.

Имеется папка с файлами:



filename001.zip

filename002.zip

filename003.zip

filenameOther004.zip

filenameOther005.zip

filenameOther006.zip

...



А а так же скрипт, который находит определенный файл по маске filename001.





Код:

Код: Выделить всё

Option Explicit
Dim arr10To36
Dim objFSO
Dim i, j, k
Dim strFileName, strMaskFile, strSourceFolder
strMaskFile = "filename001"
strSourceFolder = "D:\folder\"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
strFileName = strMaskFile & ".zip"
If Not objFSO.FileExists(objFSO.BuildPath(strSourceFolder, strFileName)) Then
	MsgBox ("Не найден"),16
Else
	MsgBox ("Найден"),16
End If
Set objFSO = Nothing

Необходимо что бы скрипт искал файл не по полной маске файла, а по трем последним цифрам(без расширения), не учитывая остальную часть имени файла (filename или filenameOther). Например по 001 будет найден файл filename001.zip



Помогите пожалуйста реализовать.

Спасибо.
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] Найти файл по части имени

Сообщение Iska »

Пробуйте:


читать дальше »




Код:

Код: Выделить всё

Option Explicit
Dim strFolder
Dim strMask
Dim objFSO
Dim objRegExp
Dim objFile
Dim boolFound
strFolder = "D:\folder"
strMask   = "^.*001\.zip$"
Set objFSO    = WScript.CreateObject("Scripting.FileSystemObject")
Set objRegExp = WScript.CreateObject("VBScript.RegExp")
With objRegExp
	.Pattern = strMask
	.IgnoreCase = True
End With
If objFSO.FolderExists(strFolder) Then
	boolFound = False
	For Each objFile In objFSO.GetFolder(strFolder).Files
		If objRegExp.Test(objFile.Name) Then
			WScript.Echo objFile.Name
			boolFound = True
		End If
	Next
	If boolFound Then
		WScript.Echo "One or more files found."
	Else
		WScript.Echo "Nothing found."
	End If
Else
	WScript.Echo "Folder [" & strFolder & "] not found."
	WScript.Quit 1
End If
Set objRegExp = Nothing
Set objFSO    = Nothing
WScript.Quit 0
Ответить

Вернуться в «Скриптовые языки администрирования Windows»