현재 브레이브 브라우저를 사용하고 있습니다. 나는 많은 북마크를 갖고 있으며 그것을 내 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을 사용하여 바로가기를 만듭니다.