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

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

Ответить
Настройки темы
CMD/BAT - Изменение текста в ini файлах

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


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

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


Добрый день. Имеются ini файлы, все они лежат в одном месте (Пусть будет D:\test).
Как можно с помощью скрипта изменить сразу несколько строк во всех ini файлах?
Нужно поменять PostMark=536871936 на PostMark=1024 и DocVersion=RTM0099 на DocVersion=RTM003-13-17

Отправлено: 14:45, 23-09-2020

 

Ветеран


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

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


romfus, кому адресованы ваши слова?

Отправлено: 13:53, 25-09-2020 | #21



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

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


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


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

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


В любом из выше предложенных вариантов такое

Отправлено: 04:10, 26-09-2020 | #22


Старожил


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

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


romfus, пробуйте мой вариант:

powershell
Код: Выделить весь код
$path = 'J:\Download\'

ForEach ($file in (Get-ChildItem $path -Filter *.ini -File))
{
$fcontent = Get-Content $file -Encoding oem `
 | ForEach {$_.Replace('PostMark=536871936','PostMark=1024').Replace('DocVersion=RTM0099','DocVersion=RTM003-13-17')} 
Set-Content $('new_'+$file.Name) -Value $fcontent 
}
В переменной $path замените путь на свой

Отправлено: 08:06, 26-09-2020 | #23


Ветеран


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

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


Цитата romfus:
В любом из выше предложенных вариантов такое
Ой ли? Желаете доказательств, что вы лжец и провокатор?

Отправлено: 14:39, 26-09-2020 | #24


Ветеран


Contributor


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

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


romfus,
VBS-скрипт. Создйте файл в 1251 кодировке (если в пути кириллица-это важно) с расширением .vbs и выполните его
Код: Выделить весь код
MyDir = "Z:\Box_Arc\Тра ля ля"
MyMask = "^.*\.ini$"

MyRep = Array( _
    "PostMark=536871936", _
    "PostMark=1024", _
    "DocVersion=RTM0099", _
    "DocVersion=RTM003-13-17" _
)

Set Reg = CreateObject("VBScript.RegExp")
Reg.IgnoreCase = True
Reg.Pattern = MyMask

With CreateObject("Scripting.FileSystemObject")
    Set Files = .GetFolder(MyDir).Files
    
    For Each File In Files
        Filename = File.Path
        If Reg.Test(Filename) Then
            Set fIn = .OpenTextFile(Filename, 1, False)
            InTxt = fIn.ReadAll
            fIn.Close
            
            L = False
            For i = LBound(MyRep) To UBound(MyRep) Step 2
                If InStr(InTxt, MyRep(i)) > 0 Then
                    L = True
                    InTxt = Replace(InTxt, MyRep(i), MyRep(i + 1))
                End If
            Next
            If L Then
                Set fIn = .CreateTextFile(Filename, True)
                fIn.Write InTxt
                fIn.Close
            End If
        End If
    Next
End With
MsgBox "Done"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-09-2020 в 11:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:13, 27-09-2020 | #25


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


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

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


Работает. Спасибо!

Отправлено: 09:01, 28-09-2020 | #26


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


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

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


Цитата romfus:
с помощью скрипта изменить сразу несколько строк во всех ini файлах »
а с помощью скрипта это принципиально?
В AkelPad есть замена текста сразу во всех открытых файлах
Вероятно, есть и другие текстовые редакторы с такой возможностью

Отправлено: 23:04, 29-09-2020 | #27



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как восстановить значки по умолчанию в .ini файлах Bai Microsoft Windows 2000/XP 16 13-03-2019 00:14
CMD/BAT - Поиск и замена строк в ini-файлах alex_frog Скриптовые языки администрирования Windows 10 25-11-2014 22:48
CMD/BAT - замена текста в нескольких файлах Alexander_88 Скриптовые языки администрирования Windows 7 03-09-2014 18:33
VBS/WSH/JS - Удаление строк в INI файлах gen0m.rsw Скриптовые языки администрирования Windows 5 27-06-2013 15:03
C/C++ - Поиск текста в файлах student_po Программирование и базы данных 6 04-09-2009 23:33




 
Переход