中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论]关于Firefox的收藏夹转成IE的收藏夹的问题
« [1] [2] »
作者:
标题: [讨论]关于Firefox的收藏夹转成IE的收藏夹的问题 上一主题 | 下一主题
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『楼 主』:  [讨论]关于Firefox的收藏夹转成IE的收藏夹的问题

查了一点资料,现在已经知道如何获取两者的位置。

不过我现在的问题是:Firefox的收藏夹是一个html文件,是否可能不借助第三方工具来提取出其中的URL和网站名称。

(其实我最终希望实现的是两者的同步)


Firefox的收藏夹html文件中记录一个收藏的格式如下:(可能没有ICON和DD注释)

<DT><A HREF="http://www.dps4e.com/" ADD_DATE="1184227241" LAST_VISIT="1199512364" LAST_MODIFIED="1199458911" LAST_CHARSET="GB2312" ICON="data:image/x-icon;base64,AA...这里看起来是ICON的base64编码..." ID="rdf:#$x57xj">dps4e.com</A>
<DD>这里看起来是注释


获取Firefox的收藏夹文件位置:
@echo off
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData"') do (
set ffFav=%%j
)
@rem/ echo %ffFav%
@rem/ pause

dir "%ffFav%\*.default" /ad /s | findstr /c:".default" >temp.txt

for /f "tokens=3,*" %%i in (temp.txt) do (
set ffFav1=%%j
)
del /q/s temp.txt >nul

set "ffFav=%ffFav%\Mozilla\Firefox\Profiles\%ffFav1%\bookmarkbackups"
set ffFav1=

if not exist "%ffFav%\." goto :lab_error

@rem/ echo Firefox Fav:[%ffFav%]

for /f "" %%i in ('dir "%ffFav%\bookmarks*" /OD /B') do (
set ffFav1=%%i
)
@rem/ echo Firefox Fav1:[%ffFav1%]

set "ffFav_file=%ffFav%\%ffFav1%"
set ffFav1=

if not exist "%ffFav_file%" goto :lab_error

echo Firefox Fav file:[%ffFav_file%]

goto :eof

:lab_error
echo Error !
goto :eof
获取IE的收藏夹目录位置:(借用本论坛某位大大的代码)
@echo off
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites"') do (
set ffFav=%%j
)
echo %ffFav%
pause
[ Last edited by honghunter on 2008-1-13 at 05:43 PM ]



探讨批量下载与智能化的下载
2008-1-12 11:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 2 楼』:  

firefox的HTML文件片段:(可见其目录的标示方式)

其中蓝色的字需要提取出来作为目录的判断;
其中红色的字需要提取出来作为快捷方式的目标URL和名称。


    <DT><H3 ADD_DATE="1161821881" LAST_MODIFIED="1199674483" ID="rdf:#$e43AY2">00-TMP</H3>
    <DL><p>
        <DT><A HREF="http://www-128.ibm.com/developerworks/cn/java/j-ap08016/" ADD_DATE="1167301343" LAST_VISIT="1199494442" LAST_MODIFIED="1199458910" ICON="data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAIAAAJhlAACAgAAAAACAAACAgACAAIAAgICAAMDAwAAA/wAA/wAAAP//AAAAAP8AAP//AP8A/wD///8AIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiL/8v/yLy8vIi8i8i8vLy8iLyL/8i/y/yIvIvIvL/L/Iv/y//IvIi8iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIAAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//" LAST_CHARSET="UTF-8" ID="rdf:#$1PYj22">让开发自动化: 持续检查</A>
<DD>利用源代码分析工具,自动获得关于代码复杂性、重复程度、符合编码标准的程度,从而改进软件开发过程。
        <DT><A HREF="http://forum.ubuntu.org.cn/index.php?sid=6c885f42cc736f815a552322ca5d9e56" ADD_DATE="1199494790" LAST_CHARSET="UTF-8" ID="rdf:#$VUikw1">Ubuntu中文 论坛 :: 首页</A>
        <DT><A HREF="http://www.cn-dos.net/forum/index.php" ADD_DATE="1199494803" LAST_CHARSET="UTF-8" ID="rdf:#$WUikw1">中国DOS联盟论坛 - 中国DOS联盟之联合DOS论坛</A>
<DD>中国DOS联盟论坛 - 中国DOS联盟
        <DT><A HREF="http://www.cnblogs.com/jobs/archive/2004/08/13/33065.aspx" ADD_DATE="1199506620" LAST_VISIT="1199670206" ICON="data:image/x-icon;base64,AAABAAEAEBD/AAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcAOvOrwD+18MA////AIvLrwCP1OYA686wAJW28gDkyKkAiKnmANSumgD52s4A96ysAP+ioQDKpZUArntwAP+9YAD/2JYA6sSmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAAAAAAICAgICAgICAgICAQAAAAACAwQEBAQEBAQEAgEAAAAAAgMAAAQAAAAEBAAAAAAAAAIDAAUABgQEBAQAAQAAAAAHBwAEAAAAAAQIAAEAAAAACQIABAAEBAAKCgABAAAAAAAABAQEAAAAAAAAAAAAAAACAwQEBAQEBAQEAAEAAAAAAgMEBAQEBAQEBAsBAAAAAAIDBAQEBAQMDQ4PAQAAAAACAwQEBAQEEBAQEAAAAAAAAgMEBAQEBBAREgEAAAAAAAIDAwMDAwMQEgEAAAAAAAACAgICEwsPEAEAAAAAAAAAAAAAAAAAAAAAAAAAAPABAADgAQAA4AEAAEABAADAAQAAwAEAAMABAADAAQAA4AEAAOABAADgAQAA4AMAAOADAADgBwAA4A8AAP//AAA=" LAST_CHARSET="UTF-8" ID="rdf:#$XUikw1">测试开发驱动实践 - 温少的日志 - 网志园</A>
        <DT><A HREF="http://www.cnblogs.com/unruledboy/archive/2004/08/13/33227.html" ADD_DATE="1199506643" LAST_VISIT="1199804081" LAST_CHARSET="UTF-8" ID="rdf:#$YUikw1">关于Peer Review、代码评审和测试驱动等 - 灵感之源 - 网志园</A>
    </DL><p>
    <DT><H3 ADD_DATE="1161821882" LAST_MODIFIED="1199459806" ID="rdf:#$B43AY2">01-办公</H3>
    <DL><p>
    </DL><p>
    <DT><H3 ADD_DATE="1161821882" LAST_MODIFIED="1199458910" ID="rdf:#$o53AY2">02-常用</H3>
    <DL><p>
        <DT><A HREF=

[ Last edited by honghunter on 2008-1-13 at 05:46 PM ]



探讨批量下载与智能化的下载
2008-1-12 11:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 3 楼』:  

遇到一个新问题,ff的html文件是utf8的,想要转成GBK的时候,使用如下格式调用无奈何版主的“GBK & UTF8 编码互转脚本 (CMD+GAWK)"生成的文件好像还是UTF8的。

call gbk2utf8.cmd /u /i bookmarks-2008-01-11.html >bookmarks.html


奈何版主的“GBK & UTF8 编码互转脚本 (CMD+GAWK)"取自:
http://www.cn-dos.net/forum/view ... &highlight=UTF8



探讨批量下载与智能化的下载
2008-1-12 11:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 4 楼』:  

看来使用第三方工具是避免不了,那么只有希望少使用几个了。



探讨批量下载与智能化的下载
2008-1-12 11:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 5 楼』:  

自己顶一下,期待大侠们的意见和建议。



探讨批量下载与智能化的下载
2008-1-12 22:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 6 楼』:  

自己顶一下,期待大侠们的意见和建议。



探讨批量下载与智能化的下载
2008-1-13 17:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

我觉得你可以用不同的颜色把需要提取的URL和名称标记一下,这样更方便别人思考,节省时间。

2008-1-13 17:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 8 楼』:  

好的,我这就弄一下.



探讨批量下载与智能化的下载
2008-1-13 17:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  



  Quote:
@echo %bg% off & setlocal EnableDelayedExpansion

for /f "delims=<> tokens=1-5" %%a in ('findstr /i "<DT><H3[^>]*>.*</H3> <DT><A[^>]*>.*</A>" FireFox的HTML收藏夹文件') do (
    if /i "%%e"=="/H3" (echo\&echo\-----&echo md %%d)
    if /i "%%e"=="/A" (
        (for /f "usebackq tokens=2" %%a in ('%%c') do (
            set mystr=%%a
            echo/!mystr:~5!
        )) 2>nul
        echo %%d
    )
)
endlocal&pause

[ Last edited by lxmxn on 2008-1-13 at 07:18 PM ]

2008-1-13 19:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 10 楼』:  

lxmxn 版主太厉害啦,让我好好学习一下。



探讨批量下载与智能化的下载
2008-1-13 23:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 11 楼』:  

lxmxn版主的这段脚本太强悍了,学到了,再次感谢。


除了3楼说的问题还没有找到解决方法外,我又遇到问题了,继续请教。

早上试验了一下,如果有二级目录的话,ff的那个收藏夹文件格式如下,9楼的代码也能解析出来。但是我的问题是,批处理中,是否能检查一个环境变量是由4个还是8个空格组成的哪?
(00-TMP那行前面有4个空格,sub_temp那行前面是8个空格。我还试验了一下,在sub_temp下面再加上三级目录的话,前面就是12个空格。)


<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1 LAST_MODIFIED="1200273255">Bookmarks</H1>

<DL><p>
    <DT><H3 ADD_DATE="1161821881" LAST_MODIFIED="1200273262" ID="rdf:#$e43AY2">00-TMP</H3>
    <DL><p>
        <DT><A HREF="http://www.cn-dos.net/forum/index.php" ADD_DATE="1199494803" LAST_CHARSET="UTF-8" ID="rdf:#$WUikw1">中国DOS联盟论坛 - 中国DOS联盟之联合DOS论坛</A>
<DD>中国DOS联盟论坛 - 中国DOS联盟
        <DT><H3 ADD_DATE="1200273240" LAST_MODIFIED="1200273262" ID="rdf:#$i.90z1">sub_temp</H3>
        <DL><p>

            <DT><A HREF="http://forum.ubuntu.org.cn/index.php?sid=6c885f42cc736f815a552322ca5d9e56" ADD_DATE="1199494790" LAST_CHARSET="UTF-8" ID="rdf:#$VUikw1">Ubuntu中文 论坛 :: 首页</A>
        </DL><p>
    </DL><p>
    <DT><H3 ADD_DATE="1161821882" LAST_MODIFIED="1199459806" ID="rdf:#$B43AY2">01-办公</H3>
    <DL><p>
    </DL><p>
    <DT><H3 ADD_DATE="1161821882" LAST_MODIFIED="1199458910" ID="rdf:#$o53AY2">02-常用</H3>
    <DL><p>



探讨批量下载与智能化的下载
2008-1-14 10:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 12 楼』:  

我尝试用循环来组合多个空格到一个环境变量中,不知道哪里错了,改来改去,还是不行。


@echo on & setlocal enabledelayedexpansion
set "temp_path=        "
set "temp_space=    1"
for %%i in (1 2 3 4 5) do (
set "temp_spac1=%temp_space%"
set "temp_space=    %temp_spac1%"
echo "temp_space=%temp_space%#"
if "#%temp_path%1"=="#%temp_space%" set "temp_path=%%i"
echo temp_path=%temp_path%0
)



探讨批量下载与智能化的下载
2008-1-14 10:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  to honghunter:

其实我9楼的脚本的for循环里面,%%a就是每行前面的空格,你可以用类似如下的语句来简单判断它里面的空格数:
if "#%%a#"=="#    #" echo It has 4 spaces
if "#%%a#"=="#        #" echo It has 8 spaces
类推。。

ps 最近要期末考试,没什么时间来回复兄的贴子,望见谅。

2008-1-14 18:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 14 楼』:  

谢谢 lxmxn 版主 的再次回复,我知道13楼这种做法,现在也就是这样判断的。

只是想尝试一下看能不能用循环来组合一个,这样就不用随着支持的目录深度而增加批处理的行数了。(因为13楼做法要为每个目录深度写一行判断,不过其实这个也无所谓,因为至少我自己是不会把收藏夹弄出超过3层的深度的,呵呵)



再次感谢  lxmxn 版主百忙之中给与帮助。



探讨批量下载与智能化的下载
2008-1-14 18:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 15 楼』:  TO honghunter:

对于你说的深度,其实就是指%%a中缩进的长度吧?

因为这个%%a里面全部是空格,那么你可以用
echo/%%a|findstr /c:"^ *$" >nul && do_your_command
来判断并执行你需要执行的命令,解决问题最终还是一个思路的问题。

2008-1-14 18:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: