Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Найти файл по части имени (http://forum.oszone.net/showthread.php?t=280305)

bombording 04-04-2014 10:23 2332908

[решено] Найти файл по части имени
 
Добрый день.
Имеется папка с файлами:

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 04-04-2014 10:52 2332921

Пробуйте:
читать дальше »
Код:

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



Время: 08:45.

Время: 08:45.
© OSzone.net 2001-