SQLite使用powershell

时间:2017-04-28 13:45:36

标签: sqlite powershell

我想在PowerShell脚本中将CSV文件(用双引号分隔的逗号)导入sqlite3。我试过了:

echo ".import export.csv mytable" | sqlite3.exe

但是我收到了这个错误:

  

export.csv:327:unescaped"字符

     

327>行号(我得到所有行的这个错误)

但是在命令行中,当我使用sqlite3 shell并输入相同的命令时,它可以工作:

sqlite > .import export.csv mytable

如何在PowerShell脚本中使命令工作?

2 个答案:

答案 0 :(得分:1)

sqlite3.exe怎么样“.import export.csv mytable”。

您可以查看sqlite3.exe的文档,使其不在shell中,如何将参数传递给sqlite3.exe。

您可以尝试以下行

Invoke-Expression 'sqlite3 yourdatabase.db < ".import export.csv mytable"'

答案 1 :(得分:1)

此页面上列出的所有解决方案均无效。但是,经过反复试验,我设法弄清楚了。我还没有看到此解决方案在任何地方发布,因此请在此处发布,以希望它可以像我一样帮助其他通过Google偶然发现此页面的人。

$params = @"
.mode csv
.separator ,
.import export.csv mytable
"@

$params | .\sqlite3.exe mydatabase.db

这在PowerShell 5.1和v7.0中都对我有效。