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

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

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

Старожил


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

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


Изменения
Автор: bombording
Дата: 04-04-2014
Добрый день.
Имеется папка с файлами:

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

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

-------
Альтернатива Всему!


Отправлено: 10:23, 04-04-2014

 

Ветеран


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

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


Пробуйте:
читать дальше »
Код: Выделить весь код
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
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:52, 04-04-2014 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Найти txt файл по имени и заменить содержание файла на мой текст! Fresenius Скриптовые языки администрирования Windows 5 21-11-2012 08:49
CMD/BAT - [решено] Сравнение файлов по части имени sampir Скриптовые языки администрирования Windows 2 18-11-2012 19:57
Интерфейс - Как в Viste найти файл по содержимому sagitt Microsoft Windows Vista 2 15-12-2008 10:40
Как прочитать файл по сети если он имеет в имени украинские буквы??? AlexBaz Хочу все знать 1 24-03-2005 21:44
По имени драйвера найти устройство shark21 Хочу все знать 3 17-08-2004 20:22




 
Переход