当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

作者:精品下载站 日期:2024-12-14 07:47:54 浏览:12 分类:玩电脑

使用 PowerShell 更新 Open Live Writer 自动链接


[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

我决定尝试一下,虽然显然还有很多更新要做,但我喜欢的一个功能是自动链接。当我输入某些内容(例如 Get-Eventlog)时,程序会自动插入一个链接。您可以在程序中手动设置这些链接。但因为我写了很多有关 PowerShell cmdlet 的内容,其中有在线链接,所以我不想手动创建数百个链接。

因此,根据其他社区成员的一些指示,我了解到自动链接信息作为简单的 XML 文件存储在 $env:APPDATA\OpenLiveWriter\LinkGlossary\linkglossary.xml 下。文件布局非常简单。

[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

这意味着我可以使用 PowerShell 创建新条目。

首先,我获取现有的 XML 内容。

$Path =  "$env:APPDATA\OpenLiveWriter\LinkGlossary\linkglossary.xml"
[xml]$xml = Get-Content -Path $Path

然后我创建新的 Entry 元素。

$entry = $xml.CreateNode("element","entry","")

该节点具有 text、url、title、rel 和 openInNewWindow 属性,所有这些属性都区分大小写,在使用 XML 时记住这一点很重要。我需要为每个属性创建一个条目。所有项目的过程都是相同的。

$textentry = $xml.CreateElement("text")

现在我有了一个新的 XML 对象。

[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

我想要自动链接到的文本是 PowerShell.org。

$text = "PowerShell.org"
$textentry.InnerText = $Text.Trim()

我喜欢在字符串上使用 Trim() 来消除任何多余的空格。完成后,我所需要做的就是将文本条目附加到条目节点。

$entry.AppendChild($textentry)

我对 URL 重复该过程

$url = http://PowerShell.org
$urlentry = $xml.CreateElement("url")
$urlentry.InnerText = $url.trim()
$entry.AppendChild($urlEntry)

标题:

$title = "Learn more about PowerShell.org"
$titleEntry = $xml.CreateElement("title")
$titleEntry.InnerText = $Title
$entry.AppendChild($titleEntry)

我没有使用 Rel 链接,因此我将创建一个空设置。

$relEntry = $xml.CreateElement("rel")
$relentry.InnerText = ""
$entry.AppendChild($relEntry)

最后是链接是否应该在新窗口中打开。

$open = $xml.CreateElement("openInNewWindow")
$open.InnerText = "True"
$entry.AppendChild($open)

请注意,这必须是字符串而不是 PowerShell 布尔值。我现在有了完整的自动链接条目。

[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

我需要做的就是将其附加到 XML 文档并保存文件。

$xml.glossary.AppendChild($entry)
$xml.Save($Path)

当然,我需要一个函数来完成所有这些工作,我已将其作为 Gist 发布在 GitHub 上。

:

get-command -CommandType cmdlet | where HelpURI | select name,HelpURI | Update-OLWLinkGlossary -Title "Read online help for this command"

我建议在不使用 Open Live Writer 时更新该文件。更新文件时,您应该会看到所有新条目。

[玩转系统] 使用 PowerShell 更新 Open Live Writer 自动链接

您可能不是博主或作家,但希望我的脚本能为您提供一些有关使用 XML 文件的指导。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯