我在Google Chrome中拥有大量书签。我想将它们全部转移到一个Windows文件夹,以便每个书签都是网站的快捷方式(我想要一个快捷方式列表,就像任何常规应用程序快捷方式列表一样)。我还想保留书签的名称和图标。
我搜索了一种实现目标的方法,但我找到的只是在Chrome中手动手动 Create application shortcuts
,或者手动拖动&从Chrome书签管理器中的书签导出的HTML文件中删除链接。
由于没有简单的解决方案(AFAIK),我想到了以另一种方式实现它。
基本上,我所拥有的是一个名为bookmarks.html
的HTML文件(由Export bookmarks to HTML file
内Organize
菜单中的Bookmark Manager
功能创建。这是一个很长的列表链接(<a>
s) - 我有超过250个书签。
我可以轻松地从文件中提取我需要的数据,可能是使用XML Parser,虽然它甚至可以使用正则表达式,因为结构是已知的并且在整个文件中是相同的:
...
<DT><A HREF="http://data.stackexchange.com/" ADD_DATE="1342120101" ICON="data:image/png;base64,iVBORw0......">Stack Exchange</A>
<DT><A HREF="http://www.istockphoto.com/" ADD_DATE="1285715116" ICON="data:image/png;base64,iVBORw0.......">Web Design</A>
<DT><A HREF="http://icons.mysitemyway.com/" ADD_DATE="1287435657" ICON="data:image/png;base64,iVBORw0........">Ico.etc</A>
<DT><A HREF="http://www.shutterstock.com/" ADD_DATE="1285715294" ICON="data:image/png;base64,iVBORw0.....">Shutterstock</A>
...
问题是我不知道如何创建一个可以获取数据的脚本 - 即URL,图标(在base64中)和名称 - 并使用该数据制作Windows URL快捷方式。我知道很少有VB脚本可以创建自定义快捷方式,但不能同时创建多个(大约300个)快捷方式。
答案 0 :(得分:4)
嗯,结合一个有用的工具,只需要定期进行操作。我想必须有可能从chrome获得你的源代码,无论如何这里是一个完成你要求的脚本。
Const ForReading = 1, ForWriting = 2, ForAppending = 8, CreateIfNeeded = true
outpath = "g:\script\shortcut\url2\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
bookmarkfile = "bookmarks.html"
Set bookmarks = objFSO.OpenTextFile(bookmarkfile, ForReading)
Set regEx = New RegExp
regEx.Global = True
Set regEx2 = New RegExp
regEx2.Global = True
regEx2.Pattern = "[^a-zA-Z0-9-_.]"
regEx.Pattern = "<DT><A HREF=""(.*)"" ADD_DATE.*>(.*)</A>"
do until bookmarks.AtEndOfStream
line = bookmarks.readline()
if regEx.test(line) then
shortcut = regEx.Replace(line,"$1")
filename = trim(regEx.Replace(line,"$2"))
filename = Regex2.Replace(filename, "_")
filename = outpath & left(filename, 80) & ".url"
wscript.echo filename
'the following skips invalid filenames, you should add a routine to filter out invalid filename characters in your codeset
on error resume next
Set objFile = objFSO.OpenTextFile(filename, ForWriting, CreateIfNeeded)
if err.number <> 0 then
wscript.echo err.description
end if
objFile.write "[InternetShortcut]" & vbcrlf & "URL=" & shortcut
objFile.close
end if
loop
答案 1 :(得分:-1)
我将CHROME BOOKMARKS(也是我的GOOGLE BOOKMARKS)导出为单个.html文件。这可以通过书签管理器的ORGANIZE |在Chrome中完成出口下拉列表。 然后我打开了我的USER \ Favorites文件夹。我没有使用IE,因此它拥有IE附带的所有默认链接。我创建了一个名为CHROME BOOKMARKS的新文件夹。 我打开IE浏览器,点击了星形的FAVORITES按钮。我将ADD TO FAVORITES菜单拉下来并选择了IMPORT AND EXPORT。 这启动了一个导入向导。我告诉它我正在导入收藏夹,并将其导入Chrome导出的.html文件(#1),并告诉它导入我创建的CHROME BOOKMARKS文件夹(#2)。
这为我在Chrome中创建的每个书签创建了一个.url文件,其中包括BOOKMARKS BAR和OTHER BOOKMARKS。
我测试并确认通过双击或拖放在Chrome中启动.URL文件。