从命令提示符中调用多个SQLite3命令

5

我希望能够创建一个批处理文件,可以循环遍历目录中的每个文件,并将其导入到SQlite3中。但是我遇到的问题是,SQlite3不接受从命令提示符/批处理中输入多个命令,只能接受一个命令。

我尝试过的方法是:

 for %%f in (./tmp/*.csv) do (
     echo %%f
     sqlite3 database.db ".separator '|'" ".import './tmp/%%f' Dirs"
 ) 

我收到了太多选项错误,因为它只期望一个单一的命令,而我需要多个。

我也不能写第二个文本文件被sqlite3调用,因为每次迭代导入的文件都会改变。

如果能得到帮助就太好了。

1个回答

4
你可以使用选项-separator来设置分隔符(默认为|)。
如果你确实需要执行多个命令,你可以将它们写入一个文件并使用.read命令读取,或者使用echo命令将它们全部输出并通过管道输入到sqlite3中。

谢谢,我没意识到有分隔符选项。 - fysloc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接