从批处理文件运行sqlite3命令?

时间:2011-12-22 15:37:56

标签: android batch-file

我想更容易访问模拟器上的sqlite数据库,所以我创建了一个成功运行第一行的批处理文件,但有没有办法从批处理文件运行第二行? (此时adb已经在运行,因此它将在shell中运行命令。)

adb -s emulator-5554 shell
# sqlite3 /data/data/com.myProject/databases/myDatabase

更新: 出于某种原因

adb -s emulator-5554 shell sqlite3 /data/data/com.myProject/databases/myDatabase

阻止您使用命令行。打字和粘贴似乎都被封锁了。我在批处理之外的命令行中运行了这一行,它做了同样的事情。

单独的行可以正常工作:

adb -s emulator-5554 shell 
sqlite3 /data/data/com.myProject/databases/myDatabase

但这在批处理文件中不起作用(sqlite3命令执行得太早)。

2 个答案:

答案 0 :(得分:1)

您可以在目标设备上运行除交互式shell之外的特定命令。例如:

adb -s emulator-5554 shell ls /sdcard

adb -s emulator-5554 shell sqlite3 /data/data/com..../database.db

一旦变得复杂,最好使用您复制到设备上并按需运行的脚本。

答案 1 :(得分:1)

您可以使用输入重定向向ADB发送命令流:

adb -s emulator-5554 shell <a.txt

a.txt包含

的位置
sqlite3 /data/data/com.myProject/databases/myDatabase
logout

这可以更好地扩展。 a.txt可以根据需要增长。