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

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

Ветеран


Contributor


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

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


Код: Выделить весь код
Public FSO, Finfo, RegMaska

AllDir = "C:\{Disk_F}\JS_Host"    ' ---------  Полное имя рабочего каталога (без слэжа \ на конце)
Info = "C:\kuku.info"
Maska= "^.*\.xls"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Finfo = FSO.OpenTextFile(Info, 2, True)

Set RegMaska = New RegExp
RegMaska.Pattern = Maska
RegMaska.IgnoreCase = True

Call AllFiles(AllDir)
Finfo.Close

MsgBox "Скрипт завершился"

' ---------------------------------------------------------------------------
Sub AllFiles(WDir)

    Set Folds = FSO.GetFolder(WDir)
    Set SubF = Folds.SubFolders
    Set Files = Folds.Files
         
    For Each jF In Files
	If RegMaska.Test(jf) Then Finfo.WriteLine jF + " " + CStr(jF.DateLastModified) + " " + CStr(jF.Size)
    Next

    For Each Folder In SubF
        Call AllFiles(WDir + "\" + Folder.Name)
    Next

End Sub
Код: Выделить весь код
Public FSO, Finfo, OldFiles, RegMaska

AllDir = "C:\{Disk_F}\JS_Host"                     ' ---------  Полное имя рабочего каталога (без слэжа \ на конце)
Info = "C:\kuku.info"
Edit = "C:\kuku.edit"
Maska= "^.*\.xls"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set RegMaska = New RegExp
RegMaska.Pattern = Maska
RegMaska.IgnoreCase = True

Set Finfo = FSO.OpenTextFile(Info, 1, False)
OldFiles = Finfo.ReadAll
Finfo.Close

Set Finfo = FSO.OpenTextFile(Edit, 2, True)

Call AllFiles2(AllDir)
Finfo.Close

MsgBox "Скрипт завершился"

' ---------------------------------------------------------------------------
Sub AllFiles2(WDir)
    
    Set Folds = FSO.GetFolder(WDir)
    Set SubF = Folds.SubFolders
    Set Files = Folds.Files
         
    For Each jF In Files
	If RegMaska.Test(jf) Then 
        	InFile = jF + " " + CStr(jF.DateLastModified) + " " + CStr(jF.Size)
        	If InStr(OldFiles, InFile) = 0 Then Finfo.WriteLine InFile
        End If
    Next

    For Each Folder In SubF
        Call AllFiles2(WDir + "\" + Folder.Name)
    Next

End Sub
Укажите в скриптах свои пути и нужную маску в регулярном выражении (сейчас там указаны файлы с расширением .xls)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 06-09-2011 в 09:40.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:26, 05-09-2011 | #3