Как заменить текст из одного файла текстом из другого файла с помощью vbscript? - PullRequest
1 голос
/ 11 ноября 2008

Как заменить текст из одного файла текстом из другого файла с помощью vbscript?

Заменяемый текст находится где-то посередине файла.

Ответы [ 2 ]

4 голосов
/ 11 ноября 2008

filea.txt: привет жестокий мир

fileb.txt: жесток

filec.txt: счастлив

сделает sResult = "привет счастливым миром" после выполнения следующего.

Dim oFSO
Dim sFileAContents
Dim sFileBContents
Dim sFileCContents
Dim sResult
Set oFSO = CreateObject("Scripting.FileSystemObject")
sFileAContents = oFSO.OpenTextFile("c:\filea.txt").ReadAll()
sFileBContents = oFSO.OpenTextFile("c:\fileb.txt").ReadAll()
sFileCContents = oFSO.OpenTextFile("c:\filec.txt").ReadAll()
sResult = Replace(sFileAContents, sFileBContents, "")
0 голосов
/ 27 июля 2012

FileToSearch - это файл с текстом, который вы хотите найти для замены
FileReplaceText - это файл, содержащий текст замены

Измените значение переменной strTextToFind, чтобы оно содержало текст, который вы ищете и заменили

Dim objFSO
Dim strFileToSearch
Dim strFileReplaceText

Dim strTextToFind
Dim strTextToSearch
Dim strTextReplaceText
Dim strFinalText

    strFileToSearch = "C:\FileToSearch.txt"
    strFileReplaceText = "C:\FileReplaceText.txt"

    strTextToFind = "text to search for here"

    Set objFSO = CreateObject("Scripting.FileSystemObject")  
    strTextToSearch = objFSO.OpenTextFile(strFileToSearch).ReadAll()  
    strFileReplaceText = objFSO.OpenTextFile(strFileReplaceText).ReadAll()  

    strFinalText = Replace(strTextToSearch, strTextToFind, strFileReplaceText)  

Если вы хотите записать этот окончательный текст обратно в файл, добавьте этот код:

Const ForWriting = 2
Dim strFileFinalOutput

    strFileFinalOutput = "C:\FileFinalOutput.txt"

    Set objTextFile = objFSO.OpenTextFile(strFileFinalOutput, ForWriting, True)
    objTextFile.Write strFinalText
    objTextFile.Close
    Set objTextFile = Nothing

Этот код считывает весь файл в память (.ReadAll) и может иметь проблемы с очень большими файлами. В этом случае код можно редактировать для чтения / поиска / замены / записи данных построчно.

Если текст, который вы ищете, не является непрерывным и находится в одной строке, тогда процесс поиска / замены более сложен, и этот код потребует дополнительной работы для его обработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...