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

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

Ветеран


Contributor


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

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


paulomyaulo, я попробовал CMD, убедился, что при большом числе строк CMD делает очень долго. Вот .vbs -скрипт. Тестировал на 200000 строках
Код: Выделить весь код
FileIn = "Z:\Box_In\allcolumns200000.txt"
'FileIn = "Z:\Box_In\allcolumns.txt"

FileOut1 = "Z:\Box_In\allcolumns_split1.txt"
FileOut2 = "Z:\Box_In\allcolumns_split2.txt"
FileOut3 = "Z:\Box_In\allcolumns_split3.txt"

Timing = vbCrLf + vbCrLf + CStr(Now)
With CreateObject("Scripting.FileSystemObject")
    On Error Resume Next

    Set FIn = .OpenTextFile(FileIn, 1, False)
    
    If Err.Number <> 0 Then
        MsgBox "File   " + FileIn + vbCrLf + Err.Description + " (" + CStr(Err.Number) + ")", 16
        WScript.Quit 2
    End If
    On Error GoTo 0
    
    Set FOut0 = .OpenTextFile(FileOut1, 2, True)
    Set FOut1 = .OpenTextFile(FileOut2, 2, True)
    Set FOut2 = .OpenTextFile(FileOut3, 2, True)
    
    Do While Not FIn.AtEndOfStream
        S = FIn.ReadLine
        SS = Split(S, ",")
        FOut0.WriteLine SS(0)
        FOut1.WriteLine SS(1)
        FOut2.WriteLine SS(2)
    Loop
    
    FIn.Close
    FOut0.Close
    FOut1.Close
    FOut2.Close
End With
MsgBox "Готово" + Timing + vbCrLf + CStr(Now), 64

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

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

Отправлено: 17:27, 31-03-2022 | #3