Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Слияние двух текстовых файлов на VBScript. Добавлено: 09.06.07 20:26  

Автор вопроса:  Vitaly
Скажите,пожалуйста, можно ли при помощи VBScript выполнить слияние двух текстовых файлов в один. Если да, то скажите каким способом(может быть процедура или функция).

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 09.06.07 23:06
Есть механизм взаимодействия с файловой системой, называется он FSO. В поиск.

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 12.06.07 00:53
Shell "copy text1.txt+text2.txt itog.txt"

Ответить

Номер ответа: 3
Автор ответа:
 alroy



Вопросов: 3
Ответов: 28
 Профиль | | #3 Добавлено: 13.06.07 09:43
Вот это для того чтоб считать файл
Объект FileSystemObject
Объект TextStream
Методы
ReadAll
Синтаксис:

ReadAll

Назначение:

Считывает весь файл и возвращает полученную строку.

Параметры:
Нет.
Описание:
Для больших файлов использование этого метода потребует больших ресурсов памяти.
Пример:
Set FSO = CreateObject("Scripting.FileSystemObject";)
Set File = FSO.GetFile("C:\boot.ini";)
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close


а вот это записат в файл

Объект FileSystemObject
Объект TextStream
Методы
WriteLine
Синтаксис:
WriteLine(<String>;)

Назначение:
Записывает в файл указанную строку. В файл записываются символы возврата каретки и новой строки.

Параметры:

<String> - необязательный, строка для записи в файл. Если опущен, в файл записывается пустая строка.
Описание:
Без комментариев.
Пример:
Set FSO = CreateObject("Scripting.FileSystemObject";)
Set TextStream = FSO.CreateTextFile("C:\Test.txt";)
TextStream.WriteLine "Text"
TextStream.Close
 а дальше подгоняй под себя тебе нужно с чатать оба файла а потом записать в один файл

Ответить

Номер ответа: 4
Автор ответа:
 Vitaly



Вопросов: 5
Ответов: 7
 Профиль | | #4 Добавлено: 13.06.07 13:30
А можете более подробно описать данный метод.Не совсем понял

Ответить

Номер ответа: 5
Автор ответа:
 alroy



Вопросов: 3
Ответов: 28
 Профиль | | #5 Добавлено: 13.06.07 15:10
'"C:\tmp\1.txt" 'Это первый файл который считывается
'"C:\tmp\2.txt" Это второй файл который считывается
'"C:\tmp\3.txt" а этот создается и в нег записывается оба файла

Call OB_txt("C:\tmp\1.txt", "C:\tmp\2.txt", "C:\tmp\3.txt";) 'запуск функции


Function OB_txt(in_fail1, in_fail2, out_file)
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Dim fso

Set FSO = CreateObject("Scripting.FileSystemObject";)
Set File = FSO.GetFile(in_fail1)
Set File2 = FSO.GetFile(in_fail2)

Set TextStream = File.OpenAsTextStream(1)
Set TextStream2 = File2.OpenAsTextStream(1)

Set out_file = FSO.OpenTextFile(out_file, ForAppending, True) ' создали обьединеный файл
str_f1 = TextStream.ReadAll() ' считали в переменную первый файл
str_f2 = TextStream2.ReadAll()' считали в переменную второй файл

out_file.WriteLine ("Это первый файл";)
out_file.WriteLine (str_f1) ' записали в новый файл первый
out_file.WriteLine ("Это Второй файл";)
out_file.WriteLine (str_f2) ' записали в новый файл второй

TextStream.Close
TextStream2.Close

out_file.Close

Set FSO = Nothing


End Function


вот быстро и грубо набросал но уж дальше вылизывай код сам !!! если и сейчас непонятно то букварь в руки

Ответить

Номер ответа: 6
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #6 Добавлено: 14.06.07 01:39
Я всегда пользуюсь как Arseny написал. Гораздо быстрее чем обрабатывать файл в скрипте.
Просто выполнить copy 1.txt+2.txt result.txt
Причем так можно кучу файлов сразу объединять.

Ответить

Номер ответа: 7
Автор ответа:
 Vitaly



Вопросов: 5
Ответов: 7
 Профиль | | #7 Добавлено: 14.06.07 15:18
Большое спасибо, Alroy. Разобрался.

Ответить

Номер ответа: 8
Автор ответа:
 Vitaly



Вопросов: 5
Ответов: 7
 Профиль | | #8 Добавлено: 14.06.07 15:25
Arseny или ZagZag, напишите более подробно метод объединения файлов с использованием Shell.

Ответить

Номер ответа: 9
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #9 Добавлено: 14.06.07 23:59
Куда подробнее то?
Есть 2 или более файлов.
Допустим их имена 1.txt 2.txt 3.txt и так далее
Надо обединить их в файл RESULT.TXT
В консоли, либо командой Shell из бейсика выполняем команду:
copy 1.txt+2.txt+3.txt RESULT.TXT
И все!
Здесь указаны относительные имена файлов из текущей папки, для указания полных имен можно заместо 1.txt писать допустим "C:\папка\1.txt" и т.п.

Ответить

Номер ответа: 10
Автор ответа:
 Vitaly



Вопросов: 5
Ответов: 7
 Профиль | | #10 Добавлено: 15.06.07 12:36
Большое всем спасибо.Разобрался. Тема считается закрытой.

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 15.06.07 23:45
2 ZagZag, см форум - он VBScript. Какой Shell?

Ответить

Номер ответа: 12
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #12 Добавлено: 16.06.07 05:09
Экие вы все недогадливые! =)
Set objWSHShell = CreateObject("WScript.Shell";)
objWSHShell.Run "cmd /c copy C:\1.txt+C:\2.txt C:\3.txt",0


Ответить

Номер ответа: 13
Автор ответа:
 Pitkin



Вопросов: 1
Ответов: 3
 Профиль | | #13 Добавлено: 27.04.11 12:34
Всем доброго времени суток.

Товарищи я в скриптах не силен, уже перелопатил все мануалы по vbscript, но ничего не нашел
Как объединить несколько файлов, тут как раз все понятно. Но понадобилось объеденить около 200 маленьких текстовых файлов в один, а писать в скрипте имя каждого файла как то не сподручно. Подскажите, пожалуйста, кто может, как объединить все файлы в один. Буду очень признателен.

Ответить

Номер ответа: 14
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #14 Добавлено: 27.04.11 16:27
dim str as string
for j=1 to 200
str=str+"+" & path(i)
next

objWSHShell.Run "cmd /c copy " & str & " C:\3.txt",0

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам