ami*_*elz 5 html windows vbscript bookmarks google-chrome
我在Google Chrome中拥有大量书签.我想将它们全部转移到一个Windows文件夹,以便每个书签都是网站的快捷方式(我想要一个快捷方式列表,就像任何常规应用程序快捷方式列表一样).我还想保留书签的名称和图标.
我搜索了一种实现目标的方法,但我能找到的只是手动 Create application shortcuts在Chrome中,或者手动将从Chrome书签管理器中的书签导出的HTML文件中的链接拖放到文件夹中.
由于没有简单的解决方案(AFAIK),我想到了以另一种方式实现它.
基本上,我所拥有的是一个叫做的HTML文件bookmarks.html(由菜单里面的Export bookmarks to HTML file功能创建.这是一个很长的链接列表- 我有超过250个书签. OrganizeBookmark Manager<a>
我可以轻松地从文件中提取我需要的数据,可能是使用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>
...
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何创建一个可以获取数据的脚本 - 即URL,图标(在base64中)和名称 - 并使用该数据制作Windows URL快捷方式.我知道很少有VB脚本可以创建自定义快捷方式,但不能同时创建多个(大约300个)快捷方式.
嗯,结合任何有用的工具,只需您定期进行操作即可。我想一定可以从 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3804 次 |
| 最近记录: |