브라우저 북마크를 PC 폴더에 개별적으로 저장하는 방법은 무엇입니까?

브라우저 북마크를 PC 폴더에 개별적으로 저장하는 방법은 무엇입니까?

현재 브레이브 브라우저를 사용하고 있습니다. 나는 많은 북마크를 갖고 있으며 그것을 내 PC의 폴더에 개별 링크로 다운로드하고 싶습니다.

이 작업을 어떻게 수행할 수 있나요?

모든 북마크를 내보냈지만 단일 HTML 파일로 저장되었습니다. 아마도 파일을 분석하고 링크를 개별적으로 저장하는 방법이 있을까요?

답변1

이 작업을 수행하기 위해 빠른 PowerShell 스크립트를 함께 만들었습니다. 업데이트 $bookmarks_file하고 $bookmarks_folder필요한 위치를 가리켜야 합니다.

안타깝게도 이 방법은 Windows에서만 작동하며 Mac에서는 단축키 형식이 다르고 테스트할 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을 사용하여 바로가기를 만듭니다.

관련 정보