Показать полную графическую версию : [решено] Изменение текста в ini файлах
greg zakharov
25-09-2020, 13:53
romfus, кому адресованы ваши слова?
В любом из выше предложенных вариантов такое
Uragan66
26-09-2020, 08:06
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 замените путь на свой
greg zakharov
26-09-2020, 14:39
В любом из выше предложенных вариантов такое
Ой ли? Желаете доказательств, что вы лжец и провокатор?
megaloman
27-09-2020, 11:13
romfus, 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"
AleksandrG
29-09-2020, 23:04
с помощью скрипта изменить сразу несколько строк во всех ini файлах »
а с помощью скрипта это принципиально?
В AkelPad есть замена текста сразу во всех открытых файлах
Вероятно, есть и другие текстовые редакторы с такой возможностью
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.