Użycie VBScript do znalezienia i zastąpienia całego tekstu wielowierszowego między nawiasami klamrowymi węzła w pliku JSON
Jako część skryptu logowania Windows (stąd wymóg VBScript), chciałbym ustawić wartości w preferencjach Google Chrome użytkownika (przechowywane w pliku JSON w profilu użytkownika), aby zastosować ustawienia pobierania podczas logowania.
Staram się osiągnąć następujące cele:
Otwórz plik JSON (%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Preferences
) i odczytaj zawartość do łańcucha;Wyszukaj określony węzeł o nazwie „download”, który jest wstępnie wypełniony wielowierszowymi wartościami, które mogą się różnić w zależności od kompilacji;Zamień cały tekst między nawiasami na określony tekst wielowierszowy; iZapisz zaktualizowany ciąg do oryginalnego pliku i zapisz.Pełny plik JSON jest dość duży, ale jako przykładowy plik wejściowy jest kopiowany z typowego pliku JSON prefs Google Chrome:
"bookmark_bar": {
"show_on_all_tabs": false
},
"download": {
"directory_upgrade": true,
"prompt_for_download": false
},
"sync": {
"suppress_start": true
},
Chciałbym programowo wyszukać węzeł „pobierz” i zastąpić wszystko między nawiasami klamrowymi tylko tego węzła, aby brzmiał:
"download": {
"default_directory": "C:\\Windows\\Temp",
"extensions_to_open": "pdf",
"prompt_for_download": false
},
... z resztą zawartości pliku bez zmian.
Biorąc pod uwagę białe znaki i wiele wierszy w sekcji JSON, które mają zostać zastąpione, a także wymóg wieloznaczności, aby dołączyć cały / dowolny tekst między nawiasami klamrowymi, nie mogę tego zrobić za pomocą funkcji VBScript Replace, ale moja wiedza na temat RegEx jest ograniczona .