我开发了像这样的windows.bat文件(文件import.bat):
sqlite3 myDb.db<SQLTableTransfer.txt
这个脚本非常简单,只需运行sqlite3 shell命令传递两个参数:
第二个参数是文件名。文件SQLTableTransfer.txt具有此内容
.open myDb.db
.separator ;
.import myCsv.csv mytable
现在我想避免写一个单独的.txt文件。我的目标是将所有命令放在.bat文件中。有可能吗?
答案 0 :(得分:1)
您可以通过管道提供多个命令:
(echo .mode csv
echo .separator ;
echo .import myCsv.csv mytable) | sqlite3 myDb.db
答案 1 :(得分:0)
您可以在命令行中使用多个-cmd
选项,如下所示。但请注意,您已在命令行中指定了数据库名称,因此不应使用.open命令。你做需要的是.mode
命令。
sqlite3 -cmd ".mode csv" -cmd ".separator ;" -cmd ".import myCsv.csv mytable" myDb.db
它会忽略任何-cmd .quit
命令,因此如果要退出sqlite shell,则需要在命令末尾添加<nul
。