根据匹配的文本/参数修改 txt 文件中重复的文本/字符串

根据匹配的文本/参数修改 txt 文件中重复的文本/字符串

我有一个名为 example.txt 的文本文件,其中包含:

[{
      "Subtitle": {
        "Search": {
          "Burn": false,
          "Default": false,
          "Enable": false,
          "Forced": false
        },
        "SubtitleList": [
          {
            "Burn": false,
            "Default": false,
            "Forced": false,
            "ID": 1,
            "Offset": 0,
            "Track": 0
          },
          {
            "Burn": false,
            "Default": false,
            "Forced": false,
            "ID": 2,
            "Offset": 0,
            "Track": 1
          },
          {
            "Burn": false,
            "Default": false,
            "Forced": false,
            "ID": 3,
            "Offset": 0,
            "Track": 2
        }]
    }
}]

但是,这可以在整个 txt 文件中重复多次,始终遵循相同的基本结构。

在下面“字幕列表”,我想确保“默认”:true, 尽管“编号”:1“轨迹”:0

否则,如果 ID 和 Track 等于其他任何值(例如“ID”:2 和“Track”:1 或类似值),则默认值应为 false。

我认为这需要一个 for 循环,或者一个 if then else 并从批处理文件运行。

我还认为,为了使其正常工作,代码可能需要检查每个“SubtitleList”部分下 { } 括号内的全部内容(但我对此并不完全确定)。

像这样(伪代码)

if
        "SubtitleList": [
          {
            "Burn": false,
            "Default": false,
            "Forced": false,
            "ID": 1,
            "Offset": 0,
            "Track": 0
          },
then
        "SubtitleList": [
          {
            "Burn": false,
            "Default": true,
            "Forced": false,
            "ID": 1,
            "Offset": 0,
            "Track": 0
          },         
else
do nothing

“默认”应该只等于‘true’ 而 “ID”:1“轨迹”:0否则它应该始终是“false”。

我宁愿使用批处理文件而不是 Powershell(如果可能的话),或者接受其他可能的建议,例如 VBScript。

有人可以帮忙吗?

相关内容