作为Windows登录脚本(因此VBScript的要求)的一部分,我想在用户的谷歌Chrome的偏好设置(存储在用户配置一个JSON文件)来设定值时,他们登录到应用下载设置。
我试图实现以下目标:
- 打开一个JSON文件(
%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Preferences
),并读取其中的内容为一个字符串; - 搜索名为“下载”的特定节点,其通过预先填充与可以构建之间变化的多线的值;
- 替换指定的多行文本的括号之间的整个文本; 和
- 写更新后的字符串到原始文件和保存。
完整的JSON文件是相当大的,但作为一个样本作为输入使用,这是从一个典型的谷歌浏览器的首选项JSON文件复制:
"bookmark_bar": {
"show_on_all_tabs": false
},
"download": {
"directory_upgrade": true,
"prompt_for_download": false
},
"sync": {
"suppress_start": true
},
我想以编程方式搜索“下载”节点,只是这个节点的括号之间的替代一切,所以它的内容:
"download": {
"default_directory": "C:\\Windows\\Temp",
"extensions_to_open": "pdf",
"prompt_for_download": false
},
......随着该文件的内容不变休息。
鉴于在JSON的部分空白和多条线路进行更换,以及通配符要求包括所有/括号之间的任何文本,我无法使用VBScript的Replace函数做到这一点,但我的正则表达式的知识是有限的。