Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   vbs и перезапись строки в файле (http://forum.oszone.net/showthread.php?t=308118)

pogo 18-11-2015 16:31 2576188

vbs и перезапись строки в файле
 
Добрый день.

Помогите пожалуйста решить задачу:
Есть файл %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. так же ещё вижу проблему того, что сейчас в скрипте указады абсолютные пути до файла, но дело может подпортить профиль, который называется случайным именем.


Время: 21:20.

Время: 21:20.
© OSzone.net 2001-