我有一个脚本可以将书签注入 Edge 或 Chrome。在大多数情况下,它工作得相当好,但是,当重新启动浏览器时,收藏夹的 name 会被删除。该书签显示为空白文档图标且没有名称。 (访问该网站后,图标会添加回书签,因此我不关心这一点)。 所以,我的问题是我怎样才能让它不这样做?
当我在启动浏览器之前查看书签文件时,名称就在那里,但启动浏览器后,名称就消失了。我按照这个脚本:https://stackoverflow.com/questions/75642929/add-a-bookmark-to-microsoft-edge-bookmark-bar-with-powershell创建我的脚本。
我的脚本的相关部分是这样的:
$bookmarkPath = "$env:localappdata\Microsoft\Edge\User Data\Default\bookmarks"
$Bookmarks = Get-Content -path $bookmarkpath
$NewBookmark = [pscustomobject][ordered]@{
guid = (New-Guid).Guid
name = 'Name from CSV'
show_icon = $true
source = 'user_copy'
type = 'url'
url = 'URL from CSV'
}
$Bookmarks.roots.bookmark_bar.children += $NewBookmark
$Bookmarks.psobject.properties.remove('checksum')
Try {
$Bookmarks | ConvertTo-Json -Depth 10 | Set-content -Path $bookmarkPath -force
}
catch {
$_.exception.message
}
举个例子,这是我所看到的:
{
"roots": {
"bookmark_bar": {
"children": [ {
"date_added": "13353700456516",
"date_last_used": "0",
"guid": "eecb133a-98f9-497b-8ab3-692646b7df74",
"id": "2",
"name": "Google",
"show_icon": true,
"source": "user_copy",
"type": "url",
"url": "https://www.google.com"
}
...
}
启动后:
{
"roots": {
"bookmark_bar": {
"children": [ {
"date_added": "13353700456516",
"date_last_used": "13353700708627",
"guid": "eecb133a-98f9-497b-8ab3-692646b7df74",
"id": "2",
"name": "",
"show_icon": true,
"source": "user_copy",
"type": "url",
"url": "https://www.google.com"
}
...
}
我希望这个名字不会被删除。我尝试将
[pscustomobject]
属性更改为最小属性集(name
、url
、type
、url
),但它仍然发生。我无法用您的代码重现此问题。特别是,如果没有
ConvertFrom-Json
,我什至无法添加书签。
无论如何,我想你应该将
"show_icon": true
更改为false
。 "show_icon": true
表示仅显示图标,因此不会显示该书签的名称。