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

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

Ветеран


Contributor


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

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


Вложения
Тип файла: txt я231218.vbs.txt
(1.4 Kb, 21 просмотров)

Alexander_88, чтобы быстро и с сортировкой по возрастанию - vbs
Код: Выделить весь код
Option Explicit

Dim BoxIn, AllFol
AllFol = Array("Z:\Box_In", _
            "Z:\Soft_In")

Dim FSO, App, Fol, Itm, File, S, SS, Reg, num, i, Max
Set FSO = CreateObject("Scripting.FileSystemObject")
Set App = CreateObject("Shell.Application")
Set Reg = CreateObject("VBScript.RegExp"): Reg.Global = True

For Each BoxIn In AllFol
    Set Fol = App.Namespace(BoxIn)
    Set Itm = Fol.Items()
    Itm.Filter 64 + 128, "*.txt"

    ReDim AllOut(9999)
    For Each File In Itm
        File = BoxIn + "\" + File.Name
        With FSO.OpenTextFile(File, 1, False)
            Max = 0
            Do While Not .AtEndOfStream
                SS = .ReadLine
                If SS <> Empty Then
                    S = Split(SS, "/")
				i = UBound(S)
                    num = FSO.GetBaseName(S(i))
                    If Reg.Test(num) Then
                        Reg.Pattern = "\D"
                        num = CLng(Reg.Replace(num, ""))
                        If num <= 9999 Then
                            If Max < num Then Max = num
                            AllOut(num) = SS
                        End If
                    End If
                End If
            Loop
            .Close
        End With
        
        With FSO.OpenTextFile(File, 2, True)
            For i = 1 To Max
                If AllOut(i) <> Empty Then .WriteLine (AllOut(i))
            Next
            .Close
        End With
    Next
Next
В прикрепленном файле уберите расширение .txt и пропишите пути к своим папкам

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

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

Отправлено: 17:40, 18-12-2023 | #11