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

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

caustic 19-03-2011 09:19 1638448

объединить содержимое txt файлов
 
Привет всем.
подскажите пожалуйста, как построчно объединить два *.txt файла в один с добавлением кавычек или любого другого символа?
к примеру имеем 2 файла со следующим содержимым, и третий, конечный результат объединения первых двух + кавычки:

1.txt
2.txt
3.txt
one
один
one" "один"
two
два
two" "два"
three
три
three" "три"

Iska 19-03-2011 09:30 1638454

caustic, насколько критично «CMD/BAT»? А то вот, фактически, то же: [решено] Соеденить два файла построчно, разве что кавычки добавить.

caustic 19-03-2011 09:50 1638460

Вложений: 1
Нет не критично
но у меня не совсем получается выполнить данный vbs скрипт:

Цитата:

Цитата Iska
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTSIn1 = objFSO.OpenTextFile(WScript.Arguments.Item(0), ForReading)
Set objTSIn2 = objFSO.OpenTextFile(WScript.Arguments.Item(1), ForReading)
Set objTSOut = objFSO.OpenTextFile(WScript.Arguments.Item(2), ForWriting, True) »

как я понял item(0), (1), (2) - это мои текстовые файлы?


плюс ошибка выходит, скрин в приложении. работаю на семерке

Iska 19-03-2011 11:53 1638553

caustic, Вы правите не там. Текстовые файлы указываете параметрами при вызове скрипта.

Вот скрипт (согласно Вашему описанию, перед строкой из первого файла кавычка не ставится):
читать дальше »
Код:

Option Explicit

' Enum IOMode
Const ForReading  = 1
Const ForWriting  = 2
Const ForAppending = 8


Dim objFSO

Dim objTSIn1
Dim objTSIn2
Dim objTSOut


Set objFSO  = WScript.CreateObject("Scripting.FileSystemObject")

Set objTSIn1 = objFSO.OpenTextFile(WScript.Arguments.Item(0), ForReading)
Set objTSIn2 = objFSO.OpenTextFile(WScript.Arguments.Item(1), ForReading)
Set objTSOut = objFSO.OpenTextFile(WScript.Arguments.Item(2), ForWriting, True)

Do Until objTSIn1.AtEndOfStream And objTSIn2.AtEndOfStream
        If Not objTSIn1.AtEndOfStream Then
                objTSOut.Write objTSIn1.ReadLine & """"
        End If
       
        objTSOut.Write " "
       
        If Not objTSIn2.AtEndOfStream Then
                objTSOut.Write  """" & objTSIn2.ReadLine & """"
        End If
       
        objTSOut.WriteLine
Loop

objTSOut.Close
objTSIn2.Close
objTSIn1.Close

Set objTSOut = Nothing
Set objTSIn2 = Nothing
Set objTSIn1 = Nothing

Set objFSO  = Nothing

WScript.Quit 0


Вызов:
Код:

Script.vbs <Путь ко входному файлу 1> <Путь ко входному файлу 2> <Путь к выходному файлу>

caustic 19-03-2011 14:34 1638675

все. теперь я разобрался это работает.
огромное спасибо ) да кавычки вначале не нужны )


Время: 20:38.

Время: 20:38.
© OSzone.net 2001-