ブラウザのブックマークを PC フォルダーに個別に保存するにはどうすればよいですか?

ブラウザのブックマークを PC フォルダーに個別に保存するにはどうすればよいですか?

現在、Brave ブラウザを使用しています。ブックマークがたくさんあるので、それらを個別のリンクとして PC のフォルダーにダウンロードしたいと考えています。

どうすればこれを実現できるでしょうか?

すべてのブックマークをエクスポートできましたが、単一の HTML ファイルとして保存されます。ファイルを分析してリンクを個別に保存する方法はあるでしょうか?

答え1

$bookmarks_fileこれを実行するための簡単な PowerShell スクリプトを作成しました。必要な場所を更新して$bookmarks_folder指定する必要があります。

残念ながら、これは Windows でのみ機能し、Mac では役に立ちません。ショートカットの形式が異なり、テストできる Mac がないためです。

$bookmarks_file = "bookmarks.html"
$bookmarks_folder = "C:\Users\Someone\Desktop\Shortcuts"
$matches = Get-Content $bookmarks_file -Raw | Select-String -Pattern 'HREF="([^"]*)"[^>]*>([^<]*)<'  -AllMatches | % { $_.Matches }

foreach ($match in $matches) {
    Write-Host $match.Groups[1].Value' '$match.groups[2].Value
    $filename = $match.groups[2].Value
    $invalidChars = [IO.Path]::GetInvalidFileNameChars() -join ''
    $re = "[{0}]" -f [RegEx]::Escape($invalidChars)
    $filename = $filename -replace $re
    $location = "$($bookmarks_folder)\\$($filename).lnk"
    $WshShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WshShell.CreateShortcut("$location")
    $Shortcut.TargetPath = $match.Groups[1].Value
    $Shortcut.Save()
}

説明

  • $matches = Get-Content $bookmarks_file -Raw | Select-String -Pattern 'HREF="([^"]*)"[^>]*>([^<]*)<' -AllMatches | % { $_.Matches }

    この行は、ファイルからリンクとリンク タイトルをbookmarks.html配列に読み込みます。

  • foreach ($match in $matches)配列を調べる

  • Write-Host $match.Groups[1].Value' '$match.groups[2].Value参照用にURLとタイトルをコンソールに書き込みます
  • $filename = $match.groups[2].Valueお気に入りのタイトルをファイル名として保存します
  • $invalidChars = [IO.Path]::GetInvalidFileNameChars() -join '' $re = "[{0}]" -f [RegEx]::Escape($invalidChars) $filename = $filename -replace $reファイル名内の不正な文字を置き換えます
  • $location = "$($bookmarks_folder)\\$($filename).lnk"ディレクトリを含むフルパスを作成します
  • $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$location") $Shortcut.TargetPath = $match.Groups[1].Value $Shortcut.Save()生成されたファイルパスとURLを使用してショートカットを作成します

関連情報