Eliminar marcadores de Chrome con Powershell

1

Estoy buscando una forma en powershell para eliminar y agregar marcadores a Chrome. Los marcadores de Chrome se almacenan en un archivo JSON con el formato que se indica a continuación, y los marcadores reales se almacenan en el objeto $ data.roots.bookmark_bar.children. He intentado algo como esto:

$data = Get-content $chromebookmarkfile | out-string | ConvertFrom-Json    
$data | Where-Object {$data.Roots.Bookmark_bar.children.Name -Notmatch "^NA"} | Convertto-JSON | Out-File "C:\Users\Name\Desktop\bookmarkupdated.js"

y parece que elimina todos los marcadores.

> {    "checksum": "f8d56bf82388c64d566247e1f510d0c8",    "roots": {
>       "bookmark_bar": {
>          "children": [ {
>             "date_added": "13186673111751399",
>             "id": "5",
>             "meta_info": {
>                "last_visited_desktop": "13189831127309905"
>             },
>             "name": "Facebook",
>             "type": "url",
>             "url": "https://www.facebook.com/"
>          }],
>          "date_added": "13186673028532299",
>          "date_modified": "13189832329106862",
>          "id": "1",
>          "name": "Bookmarks bar",
>          "type": "folder"
>       },
>       "other": {
>          "children": [  ],
>          "date_added": "13186673028532314",
>          "date_modified": "0",
>          "id": "2",
>          "name": "Other bookmarks",
>          "type": "folder"
>       },
>       "synced": {
>          "children": [  ],
>          "date_added": "13186673028532317",
>          "date_modified": "0",
>          "id": "3",
>          "name": "Mobile bookmarks",
>          "type": "folder"
>       }    },    "version": 1 }

Cualquier ayuda es apreciada.

    
pregunta Thomas 21.12.2018 - 04:47
fuente

1 respuesta

2

Podrías hacerlo así:

$json = Get-Content $chromebookmarkfile -Raw | ConvertFrom-Json
$json.Roots.Bookmark_bar.children = @($json.Roots.Bookmark_bar.children | where { $_.name -notmatch "^NA" })
$json | ConvertTo-Json -Depth 10 | Out-File "d:\tmp\bookmarkupdated.js"
    
respondido por el marsze 27.12.2018 - 09:52
fuente

Lea otras preguntas en las etiquetas