将参数从批处理文件传递到sqlite脚本

时间:2015-06-04 09:30:32

标签: csv batch-file sqlite

我想使用批处理命令行将多个* .CSV文件批量导入SQLite3数据库。

我有一个批处理文件(loader.bat),它调用loader.sql将csv文件导入test.db(使用sqlite3.exe)。

sqlite3.exe test.db ".read loader.sql"

loader.sql是一个sqlite脚本,它将data.csv导入表中(tb_data)

.import data.csv tb_data

这适用于导入单个文件(data.csv)。我想将文件夹中的所有* .csv文件(例如data123.csv,data456.csv,data789.csv)导入到同一个表(tb_data)中。

我正在考虑在批处理脚本中使用for循环来遍历文件。

for %%a in (*.csv) do (
    echo %%a
    sqlite3.exe test.db ".read loader.sql"
)

如何将参数从批处理脚本传递到sqlite脚本(loader.sql)?

1 个答案:

答案 0 :(得分:0)

首先将所有csv文件合并为一个并使用原始命令加载:

copy *.csv combined.cv