Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Поиск в одном текстовом файле с заменой в другом

Ответить
Настройки темы
VBS/WSH/JS - Поиск в одном текстовом файле с заменой в другом

Пользователь


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


Конфигурация

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


Изменения
Автор: cortes_
Дата: 22-11-2016
Привет всем!
Передо мной встала следующая задача. Есть текстовый файл (исходный):
читать дальше »
Hostname=srv1.corp.contoso.com
IPAddress= 10.1.1.1
Active=True


Есть текстовый второй файл (назначение):
читать дальше »
Server=server
IPAddress= 10.1.1.1
Hostname=server.server
Active=True


Необходимо полностью скопировать строку,содержащую Hostname из первого файла, с заменой строки Hostname во втором файле. Т.е. на выходе во втором файле вместо изначального Hostname, появится строка из первого файла. Строки не обязательно будут в том порядке как в примере, могут быть и перемешаны.
Я честно пытался реализовать скрипт через регулярные выражения, но не вышло.
Текст скрипта:
читать дальше »

Код: Выделить весь код
Dim objFSO
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Set wshshell = CreateObject("wscript.shell")
workDir = wshshell.ExpandEnvironmentStrings(WshShell.CurrentDirectory)
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Global = False   
objRegEx.IgnoreCase = True
objRegEx.Pattern = "Hostname=[A-Za-z0-9-]+"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileSrc = objFSO.OpenTextFile(workDir & "\source.txt", 1)
srcString = objFileSrc.ReadLine ' Тут неправильно, читается только первая строка,а не идет поиск по всему файлу
objFileSrc.Close

Set objFileDes = objFSO.OpenTextFile(workDir & "\destination.txt", 2) 
strSearchString = "Hostname="
strNewString = objRegEx.Replace(strSearchString,srcString)
objFileDes.WriteLine strNewString
objFileDes.Close
На всякий случай в приложении тестовые файлы и сам скрипт.

-------
god is real unless declared as integer


Отправлено: 13:30, 21-09-2013

 

Ветеран


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

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


Исходя из конкретных файлов. Батник:
Код: Выделить весь код
@echo off
1>dest.tmp (

    findstr /i "hostname" src.txt
    findstr /i /v "hostname" dest.txt

)
move dest.tmp dest.txt
PowerShell:
Код: Выделить весь код
(gc dest.txt) -replace 'hostname=.*',(sls 'hostname' src.txt).line | sc dest.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:58, 21-09-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Поиск в одном текстовом файле с заменой в другом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле sucher Скриптовые языки администрирования Windows 7 10-03-2016 17:42
CMD/BAT - Подсчет количества строк в текстовом файле sl1mus Скриптовые языки администрирования Windows 3 28-06-2012 21:29
VBS/WSH/JS - Поиск\редактирование строки в текстовом файле pavvel Скриптовые языки администрирования Windows 2 11-04-2012 16:38
CMD/BAT - Поиск и удаление повторяющегося тескста в текстовом файле Sisimon Скриптовые языки администрирования Windows 0 20-12-2011 10:07
подсчёт слов в текстовом файле bakatum Хочу все знать 4 22-01-2010 21:10




 
Переход