递归BCP导入不能在批处理文件中工作

时间:2017-05-23 18:07:14

标签: sql-server batch-file cmd sql-server-2012

我将文件夹中的一组数据文件导入SQL Server表。如果我在命令行上手动输入递归bcp,我就可以运行它,但如果我把它放在批处理文件中,它就无法运行。

命令是:

for /r %i in (*) do bcp databasename.dbo.tablename in %i -c  -t -S servername -U username -P password -t "|"

返回的错误是-c was unexpected at this time。如果我删除-c我获取-t was unexpected at this time,依此类推。

1 个答案:

答案 0 :(得分:0)

问题是文件名在加载到%i时以空格和短划线字符结尾,这些被解释为bcp命令的有意义部分,这当然搞砸了。简单而烦人的解决方案是确保目录名称和文件名没有空格或破折号。