Компьютерный форум 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=255433)

KooDI 03-03-2013 21:37 2103514

Как выделить каждую определенною строку в текстовом файле
 
Доброго времени суток всем
Как можно сделать так, для примера, чтоб с каждой третей строки копировался весь текст и записывался в другой документ построчно

Iska 04-03-2013 09:08 2103742

Например, так:
читать дальше »
Код:

Option Explicit

Dim strSourceFile
Dim objFSO
Dim objTS

Dim lngCount

If WScript.Arguments.Count = 1 Then
        strSourceFile = WScript.Arguments.Item(0)
       
        Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
       
        If objFSO.FileExists(strSourceFile) Then
                Set objTS = objFSO.CreateTextFile(strSourceFile & ".export.txt", True)
               
                With objFSO.OpenTextFile(strSourceFile)
                        lngCount = 0
                       
                        Do Until .AtEndOfStream
                                lngCount = lngCount + 1
                               
                                If lngCount = 3 Then
                                        objTS.WriteLine .ReadLine()
                                       
                                        lngCount = 0
                                Else
                                        .SkipLine
                                End If
                        Loop
                       
                        .Close
                End With
               
                objTS.Close
               
                Set objTS = Nothing
        Else
                WScript.Echo "Source file [" & strSourceFile & "] not found"
        End If
       
        Set objFSO = Nothing
Else
        WScript.Echo "Usage: " & WScript.ScriptName & " <Source file>"
End If

WScript.Quit


KooDI 04-03-2013 09:54 2103760

А где надо изменять значения, то которое определяет нужную мне строку, я изменял в этой строке If lngCount = 3 Then з 3 на 2 и при выполнение скрипта ничего не происходило

Iska 04-03-2013 19:45 2104116

Цитата:

Цитата KooDI
и при выполнение скрипта ничего не происходило »

KooDI, приведите Ваш код.

KooDI 04-03-2013 22:38 2104299

Просто в вашем коде изменил 3 на 2
читать дальше »
Код:

Option Explicit

Dim strSourceFile
Dim objFSO
Dim objTS

Dim lngCount

If WScript.Arguments.Count = 1 Then
        strSourceFile = WScript.Arguments.Item(0)
       
        Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
       
        If objFSO.FileExists(strSourceFile) Then
                Set objTS = objFSO.CreateTextFile(strSourceFile & ".export.txt", True)
               
                With objFSO.OpenTextFile(strSourceFile)
                        lngCount = 0
                       
                        Do Until .AtEndOfStream
                                lngCount = lngCount + 1
                               
                                If lngCount = 2 Then
                                        objTS.WriteLine .ReadLine()
                                       
                                        lngCount = 0
                                Else
                                        .SkipLine
                                End If
                        Loop
                       
                        .Close
                End With
               
                objTS.Close
               
                Set objTS = Nothing
        Else
                WScript.Echo "Source file [" & strSourceFile & "] not found"
        End If
       
        Set objFSO = Nothing
Else
        WScript.Echo "Usage: " & WScript.ScriptName & " <Source file>"
End If

WScript.Quit


Iska 05-03-2013 00:09 2104349

KooDI, взял приведённый код. Создал текстовый файл:
Код:

1
2
3
4
5
6
7
8
9
10

Запустил скрипт, указав аргументом текстовый файл. Получил новый текстовый файл:
Код:

2
4
6
8
10

А у Вас? Если не так — упакуйте Ваш текстовый файл в архив и выложите сюда или на RGhost.ru.

KooDI 05-03-2013 21:47 2104973

Не знаю почему но, сейчас все работает.
Спасибо огромное


Время: 19:41.

Время: 19:41.
© OSzone.net 2001-