コマンドライン上で動くブックマークを簡単なPowerShellスクリプト(記事)で作ってみたが、このようなショートツールは毎回、実に軽快である。カスタマイズしてみよう。
カスタマイズしていると、レンタルサーバー上に設置するインターネット掲示板をPerl/CGIを使ってコンテンツを作っていた頃を思い出す。Googleもまだ無いころ。秀逸なディレクトリ型を備えていたYahoo!をはじめ、goo、infoseekなどの検索サイトで情報を探し、掲示板やチャットのプログラムはネットサーフレスキューWeb裏技からスクリプトをダウンロードし、レンタルサーバーに設置。アクセスカウンターが増える度に歓喜していた時代だ。
Web裏技には、ユーザーが二人が入室するとロックされ密室になる2ショットチャットや大量の掲示板を増産できる2ch風BBSなど、SNSエンジンの原型となるような機能も垣間見えるが、2026年3月31日にシージーアイ・レスキュー(旧ネットサーフレスキュー[Web裏技] )は閉鎖。現在、当時を振り返る管理人の言葉があるが、ドメインは当分の間、残されるそうで「アーカイブを置く計画もあるのか無いのか…」とのこと。当時は、同様のコンセプトを持つ海外のスクリプトサイトを研究しながら、掲載していたそうだ。
コマンドや小さなスニペットを組み合わせたアイデアが新機能として搭載されるが、なるほど!と思う仕組みに向上心が喚起される。目的ありきの特定の機能はAIで構築することはできても、組み合わせると無数になるカスタマイズの数珠から、どの仕組みに興味を持てるか?は個人の好みの問題だ。
検索エンジン用ブックマークコマンド
というわけで検索サイトの旅をはじめるに、AIで検索サイトを探させて、よさげなものをkensaku関数にして設置してみる。生成AIで検索サイトを探させて表示させてみたが流石、AIである。紹介しきれないほど探し出してくれるので、良さそうなものを見繕って、前回のスクリプトに入れる。bookmarkとは別のkensakuコマンドとして運用するので、関数名と変数名をkensakuに変えて以下のように。
function kensaku {
$kensaku = @(
"https://google.co.jp"
"https://bing.co.jp/"
"https://yahoo.co.jp"
"https://duckduckgo.com/"
"https://search.brave.com/"
"https://www.qwant.com/?l=en"
"https://www.mojeek.com/"
"https://openhub.net/"
"https://github.com/search"
"https://www.wolframalpha.com/"
"https://www.wikiwand.com/"
"https://marginalia-search.com/"
)
for($i=0; $i -lt $kensaku.Count; $i++) {
Write-Host "$($i+1) : $($kensaku[$i])"
}
$choice = Read-Host "番号"
Start-Process $kensaku[$choice-1]
}
タイトル:コメントを付けるには?
知っているのもあれば知らないのもある。数が増えてくるとやはり、コメント/タイトルが必要になることを実際に試すと感じた。コメントを付けるには、URLを入力する部分をハッシュテーブル方式に変えて、文字列でコメントとタイトルを付す仕様に変えてやる。$kensaku を@( )ではなく@{ }に変えて、"key" = "値" の形で格納できる。
$kensaku = @{
"Google:言わずもがなのスタンダードである検索サイト" = "https://google.co.jp"
"Bing:Microsoft謹製検索サイト。人によってはこちらがいいという話も" = "https://bing.co.jp/"
"Yahoo!:日本国内情報のポータルサイト" = "https://yahoo.co.jp"
"DuckDuckGo:プライバシー重視の検索エンジン" = "https://duckduckgo.com/"
"Brave Search:独自インデックスの新興検索" = "https://search.brave.com/"
"Qwant:フランス発。EU圏で人気のプライバシー重視" = "https://www.qwant.com/"
"Mojeek:英国発。独自クローラ運営にこだわり" = "https://www.mojeek.com/"
"OpenHub:OSSプロジェクトの分析と探索" = "https://openhub.net/"
"GitHub Search:こちらもOSSプロジェクト探索。GitHuBの検索エンジン" = "https://github.com/search"
"wolframalpha:数学や化学知識向上には必見検索" = "https://www.wolframalpha.com/"
"Wikiwand Search:Wikipediaを快適に検索するツール" = "https://www.wikiwand.com/"
"marginalia:スウェーデンのソフトウェアエンジニアにより開発されたOSSの検索エンジン" = "https://marginalia-search.com/"
}
ハッシュテーブルはkeyと値の組み合わせる連想配列で$keys = @($kensaku.Keys)でキー、$keys[$i]で値を抜き出せる"対"の関係。forループの部分などをそれに合わせて変えてやる。これを実装するkensaku関数は以下のようになる。
function kensaku {
$kensaku = @{
"Google:言わずもがなのスタンダードである検索サイト" = "https://google.co.jp"
"Bing:Microsoft謹製検索サイト。人によってはこちらがいいという話も" = "https://bing.co.jp/"
"Yahoo!:日本国内情報のポータルサイト" = "https://yahoo.co.jp"
"DuckDuckGo:プライバシー重視の検索エンジン" = "https://duckduckgo.com/"
"Brave Search:独自インデックスの新興検索" = "https://search.brave.com/"
"Qwant:フランス発。EU圏で人気のプライバシー重視" = "https://www.qwant.com/"
"Mojeek:英国発。独自クローラ運営にこだわり" = "https://www.mojeek.com/"
"OpenHub:OSSプロジェクトの分析と探索" = "https://openhub.net/"
"GitHub Search:こちらもOSSプロジェクト探索。GitHuBの検索エンジン" = "https://github.com/search"
"wolframalpha:数学や化学知識向上には必見検索" = "https://www.wolframalpha.com/"
"Wikiwand Search:Wikipediaを快適に検索するツール" = "https://www.wikiwand.com/"
"marginalia:スウェーデンのソフトウェアエンジニアにより開発されたOSSの検索エンジン" = "https://marginalia-search.com/"
}
$keys = @($kensaku.Keys)
for($i=0; $i -lt $keys.Count; $i++) {
Write-Host "$($i+1) : $($keys[$i])"
}
$choice = Read-Host "番号"
$key = $keys[$choice - 1]
$url = $kensaku[$key]
Start-Process $url
}
これを実行すると、
番号:説明文/タイトルで表示される。ハッシュテーブルなので順不同だが、ちゃんと実行された。
しかし、ひさしぶりに検索サイトを探してみたが、最新の環境に合わせてブラッシュアップされたもの、検索してみると、おお、昔の検索サイトの感覚のようなものも増えている。新しい検索サイトを発見しては、ここに記していくとオリジナルの情報検索方法がまた加わり、広がりが出るのではないか?そう思った。


