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

[玩转系统] 周五乐趣:搜索我

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

周五乐趣:搜索我


[玩转系统] 周五乐趣:搜索我

如果您研究 Google 和 Bing 等网站的搜索技术或 API,您很快就会陷入 JSON、SOAP、XML 和令人麻木的示例的泥沼中。尽管可能喜欢这种事情,但我希望找到更简单的东西。毕竟,我不会创建复杂的搜索查询。我想要搜索一个简单的术语或短语,例如“powershell remoting”或“Invoke-Webrequest”。

对于 Google,创建 URL 就是这么简单:

$t = "Invoke-Webrequest"
$url = "http://www.google.com/search?q=$t"

要使用 Bing,似乎包含您的文化会有所帮助,您可以使用 Get-Culture 检索该文化。


$lang = (get-culture).parent.name
$url = "http://www.bing.com/search?q=$t+language%3A$lang"

无论哪种情况,我现在都有一个合适的 URL 可以进入我的默认浏览器。我不能保证这对每个人都有效,但它就像这个命令一样简单:


Start $url

我实际上使用 Start-Process 的别名,但在这种情况下我不介意。 Windows 将切换到我的浏览器并在新选项卡中打开 URL。为了使所有这些更加灵活,我组合了一个简单的函数。

Function Get-SearchResult {
[cmdletbinding()]
Param(
[string]$Text,
[ValidateSet("Bing","Google","Yahoo")]
[string]$SearchEngine="Google"
)

Switch ($SearchEngine) {
"Bing" {
        $lang = (get-culture).parent.name
        $url = "http://www.bing.com/search?q=$text+language%3A$lang"
        Break
       }
"Google" {
        $url = "http://www.google.com/search?q=$text"
         }
"Yahoo" {
        $url = "http://search.yahoo.com/search?p=$text"
        }
} #switch

write-Verbose "Opening $url in $SearchEngine"

Start-process $url

} #end function

该函数需要一个要搜索的文本字符串和一个搜索引擎。我已将默认设置为 Google。您还会看到我包含了参数验证,以便您只能使用预定义集中的值。为了使该功能更有趣,我还添加了雅虎。我使用 Switch 语句来确定如何构造 url。您可以从控制台或 PowerShell ISE 使用此功能。我认为就 PowerShell 而言,这是一种“低技术”方法,但它有效并满足我的需求。

要将其插入 ISE,您需要在 ISE 中对该函数进行点源。然后,如果需要,您可以将其添加为菜单项。


$psise.CurrentPowerShellTab.AddonsMenu.Submenus.Add("Search Internet",{Get-SearchResult -Text $psise.CurrentFile.Editor.SelectedText},"ALT+S") 

这将在附加组件菜单中添加一个名为“搜索互联网”的菜单快捷方式。我还提供了一个可选的键盘快捷键 ALT+S,但您可以定义任何尚未使用的内容。当调用菜单项时,它将运行我的 Get-SearchResult 函数并使用当前选定的文本作为 -Text 参数。最终结果是通过 Google 搜索我在脚本文件中选择的内容。如果您更喜欢 Bing,我只需修改该功能并将其设置为默认值即可。

这不是复杂的科学,但希望能让您的 PowerShell 体验更加高效。欢迎您立即尝试,或者等待 ISE Scripting Geek 的下一版本。

周末愉快。

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

取消回复欢迎 发表评论:

关灯