windows批处理sqlite备份firefox历史记录

时间:2012-01-12 11:47:46

标签: windows firefox batch-file sqlite backup

不熟悉windows的东西..,我正在尝试编写一个小的MS Windows批处理以备份firefox历史但我没有得到预期的结果,例如firefox历史转储到文件中(这里没有实现) ),无法弄清楚为什么以及如何解决。相反,我在新窗口中获取数据库的转储。以下是我到目前为止所做的事情:

cmd windows terminal

start "TEST" sqlite.cmd

sqlite.cmd

REM backup firefox history
setlocal
set DB_src=places.sqlite
set DB_dest=places1.sqlite
set FF_profile=C:\Documents and Settings\User_A\Application Data\Mozilla\Firefox\Profiles\1e6xxxxx.default
set SQLITE_EXE=C:\Documents and Settings\Admin_User\SoftWare\sqlite3.exe
set SQLITE_SQL=C:\Documents and Settings\Admin_User\Bureau\sqlite.sql
copy "%FF_profile%\%DB_src%" "%FF_profile%\%DB_dest%"
@echo off
start "%SQLITE_EXE%" "%FF_profile%\%DB_dest%" < "%SQLITE_SQL%"
endlocal

sqlite.sql

.dump html
.output moz_places.html
SELECT moz_places.visit_count, moz_places.url FROM moz_places ORDER by visit_count DESC LIMIT 20;

[编辑]:
解决了:
- 使用正确的sqlite查询(在下面的sqlite.sql中更新)和these examples - 使用sql html输出“moz_places.html”,因为我无法获得重定向工作 linux的东西对我来说更容易......

1 个答案:

答案 0 :(得分:0)

这个问题很蹩脚,因为它涉及三个完全不相关的域:firefox,sqlite和批处理文件。你应该通过确定这是一个firefox问题还是sqlite问题或批处理文件问题来解决问题,然后你应该提出一个关于问题所在领域的问题,绝对不提到其他领域

我将就批处理文件尽可能地给你一个答案:

首先,您需要不必要地使用start命令停止并直接调用内容。所以,而不是:

start "%SQLITE_EXE%" "%FF_profile%\%DB_dest%" < "%SQLITE_SQL%"

你需要这个:

"%SQLITE_EXE%" "%FF_profile%\%DB_dest%" < "%SQLITE_SQL%"

然后,您需要将上述命令的输出重定向到您选择的文件中。为此,您需要使用'&gt;'运营商。所以:

"%SQLITE_EXE%" "%FF_profile%\%DB_dest%" < "%SQLITE_SQL%" > myfile.txt

就批处理文件而言,应该这样做。如果它没有这样做,那么它是一个firefox或sqlite问题。