【发布时间】:2022-01-03 08:41:15
【问题描述】:
我们的组织正在将 chrome 作为默认浏览器。
问题是,它已经在大多数车队中,并且自定义语言设置已设置为 en-US。我需要一些方法将其修改为 en-AU。
我最初使用 fart.exe 并用 en-AU 替换了所有 en-US 实例,但是当 chrome 重新启动时,它不喜欢这种格式。
我基本上想做的是替换:
"intl":{"accept_languages":"en-US,en-AU,en-GB,en","selected_languages":"en-US,en-AU,en-GB,en"}
与
"intl":{"accept_languages":"en-AU","selected_languages":"en-AU"}
问题是“accept_languages”之后的文本:可以是国家/地区设置的任意组合。
我被难住了。谁能指出我正确的方向?
【问题讨论】:
-
看起来文件是 JSON 格式。您可以使用
ConvertFrom-Json将其读入对象图,操作该对象图,然后使用ConvertTo-Json重新转换为 JSON 并保存。 -
如果您不关心语言,只需将它们全部替换为您想要的语言
"[^"]+?"。"intl":{"accept_languages":"[^"]+?","selected_languages":"[^"]+?"}。替换为"intl":{"accept_languages":"en-AU","selected_languages":"en-AU"} -
@user3783243 谢谢你。我想出了这个。似乎进行了修改: $FilePath = "C:\Temp\Preferences" (Get-Content -Raw $FilePath) -replace '"intl":{"accept_languages":"[^"]+?","selected_languages" :"[^"]+?"}.' , '"intl":{"accept_languages":"en-AU","selected_languages":"en-AU"},' |输出文件 $FilePath -Encoding UTF8
标签: json powershell