Тема: AHK: Рекурсивно заменить строку в реестре
Помогите составить скрипт, поиск и замена значения параметра,
например: REG_SZ: "C:\Program Files" на "D:\zz\Program Files"
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Помогите составить скрипт, поиск и замена значения параметра,
например: REG_SZ: "C:\Program Files" на "D:\zz\Program Files"
Непонятно, нужно чтобы ключ имел значение "C:\Program Files", или содержал эту строку?
Чтобы содержал строку, всмысле там может быть "C:\Program Files\Windows Media Pleer" и что угодно.
Тут видимо регулярные выражения надо подключить...
Я новичёк, читаю документацию, но пока не могу начать, сложно.
Надо чтобы менялся заданный паттерн * "Program Files" * рекурсивно обходя реестр на совпадения
Диалоги никакие не нужны, просто работающий скрипт.
Нужно для того чтобы не делать это вручную
Так:
SetBatchLines, -1
for k, v in ["HKCR", "HKU", "HKCU", "HKCR", "HKCC"]
Loop, Reg, % v, R
{
RegRead, OutputVar
if (A_LoopRegType = "REG_SZ" && InStr(OutputVar, "C:\Program Files"))
RegWrite, % RegExReplace(OutputVar, "\QC:\Program Files\E", "D:\zz\Program Files")
}
Перед изменением реестра делайте бекап.
Или, может, так быстрее будет, не проверял:
SetBatchLines, -1
for k, v in ["HKCR", "HKU", "HKCU", "HKCR", "HKCC"]
Loop, Reg, % v, R
{
if (A_LoopRegType = "REG_SZ") {
RegRead, OutputVar
if InStr(OutputVar, "C:\Program Files")
RegWrite, % RegExReplace(OutputVar, "\QC:\Program Files\E", "D:\zz\Program Files")
}
}
Спасибо!
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться