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

Android 是否从批处理文件运行sqlite3命令?,android,batch-file,Android,Batch File,我想使在emulator上访问sqlite数据库更容易,因此我创建了一个批处理文件,成功地运行了第一行,但是有没有办法从批处理文件运行第二行?(此时adb已经在运行,因此它将在shell中运行命令。) 更新: 出于某种原因 adb -s emulator-5554 shell sqlite3 /data/data/com.myProject/databases/myDatabase 阻止您使用命令行。打字和粘贴似乎都被阻止了。我在批处理之外的命令行中运行了这一行,它也做了同样的事情 各行各业

我想使在emulator上访问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

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

您可以在目标设备上运行特定命令,而不仅仅是交互式shell。例如:

adb -s emulator-5554 shell ls /sdcard


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

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

adb -s emulator-5554 shell <a.txt

这个比例更好。a、 txt可以根据您的需要任意增长。

使用
分隔符以发送多个命令。像这样:
adb-s仿真器-5554 shell ls/sdcard;ls/data
太棒了,正是我想要的(我不知道这么简单)。唯一的问题是,我无法在终端窗口中键入内容。批处理文件是否锁定了进程?是否有人知道我为什么不能在终端窗口中键入内容。批处理文件是否锁定了进程?然后我希望能够使用终端窗口进行sql查询。已确认。我想,当您在命令行中指定一个命令(如
sqlite3
)时,ADB不会费心处理输入。交互命令不应该以这种方式调用。
adb -s emulator-5554 shell sqlite3 /data/data/com..../database.db
adb -s emulator-5554 shell <a.txt
sqlite3 /data/data/com.myProject/databases/myDatabase
logout