pogo
18-11-2015, 16:31
Добрый день.
Помогите пожалуйста решить задачу:
Есть файл %appdata%\Mozilla\Firefox\Profiles\<набор символов>.default\prefs.js
Надо посмотреть, если в файле есть строка user_pref("zoom.maxPercent", ХХХ); необходимо что бы значение ХХХ = 900.
Если такой строки нет, то дописать в конец файла.
Задача не такая сложная, но с её реализациекй на vbs\js возникли проблемы
Dim objFSO, file, tempfile, str, tempstr
Const ForReading = 1
Const ForAppending = 8
'Const str = "zoom.maxPercent"
'set str1 = "user_pref(""zoom.maxPercent"", 900);"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set file = objFSO.OpenTextFile("D:\scripts\test\prefs.js", ForReading)
Do While Not file.AtEndOfStream
tempstr = file.ReadLine
If InStr(1, tempstr, "zoom.maxPercent") <> 0 Then
MsgBox "OK"
Exit Do
End If
Loop
MsgBox "NO"
file.close
Set file = objFSO.OpenTextFile("D:\scripts\test\prefs.js", ForAppending, True)
file.WriteLine "user_pref(""zoom.maxPercent"", 900);"
file.close
скрипт умеет находить подстроку в файле. если её нет, он допишет её в конец. Но он не умеет перезаписывать строку, если например строка есть, но её значение отличается от ХХХ.
p.s. ещё какая то проблема, не могу использовать переменные для указания шаблоны, например закомментированную str.
Пишет "требуется объект: '[string: "user_pref("zoom.maxP"]'"
p.p.s. так же ещё вижу проблему того, что сейчас в скрипте указады абсолютные пути до файла, но дело может подпортить профиль, который называется случайным именем.
Помогите пожалуйста решить задачу:
Есть файл %appdata%\Mozilla\Firefox\Profiles\<набор символов>.default\prefs.js
Надо посмотреть, если в файле есть строка user_pref("zoom.maxPercent", ХХХ); необходимо что бы значение ХХХ = 900.
Если такой строки нет, то дописать в конец файла.
Задача не такая сложная, но с её реализациекй на vbs\js возникли проблемы
Dim objFSO, file, tempfile, str, tempstr
Const ForReading = 1
Const ForAppending = 8
'Const str = "zoom.maxPercent"
'set str1 = "user_pref(""zoom.maxPercent"", 900);"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set file = objFSO.OpenTextFile("D:\scripts\test\prefs.js", ForReading)
Do While Not file.AtEndOfStream
tempstr = file.ReadLine
If InStr(1, tempstr, "zoom.maxPercent") <> 0 Then
MsgBox "OK"
Exit Do
End If
Loop
MsgBox "NO"
file.close
Set file = objFSO.OpenTextFile("D:\scripts\test\prefs.js", ForAppending, True)
file.WriteLine "user_pref(""zoom.maxPercent"", 900);"
file.close
скрипт умеет находить подстроку в файле. если её нет, он допишет её в конец. Но он не умеет перезаписывать строку, если например строка есть, но её значение отличается от ХХХ.
p.s. ещё какая то проблема, не могу использовать переменные для указания шаблоны, например закомментированную str.
Пишет "требуется объект: '[string: "user_pref("zoom.maxP"]'"
p.p.s. так же ещё вижу проблему того, что сейчас в скрипте указады абсолютные пути до файла, но дело может подпортить профиль, который называется случайным именем.