如何从批处理文件中的SQLCMD生成的文件中删除标题虚线下划线?

时间:2014-02-28 19:00:17

标签: sql-server batch-file sqlcmd

如何从批处理文件中的SQLCMD生成的文件中删除标题下划线? 我试图自动化一个进程,将一个文件放在一个目录中,由另一个应用程序处理,它在标题下的虚线上扼流圈 例如:

1. Header1 Header2 header3 header4
2. ------  ------  ------  ------ 
3. Data1   Data2   Data3   Data4 
4. Data1   Data2   Data3   Data4 
5. Data1   Data2   Data3   Data4 
6. Data1   Data2   Data3   Data4 

我需要删除第2行。所以其他应用程序不会阻塞它。应用程序需要Headers,但在它下面的虚线处死掉。

3 个答案:

答案 0 :(得分:1)

您可以使用findfindstr过滤掉不需要的行,例如: findstr /v /c:"------ ------ ------ ------" your_filename

然后将输出重定向到文件或将其直接导入/管道到您的应用程序(如果它接受来自stdin的输入)

答案 1 :(得分:1)

使用sqlcmd,您只需在sqlcmd命令之后添加,即添加:

|findstr /v /c:"-"

像:

>sqlcmd -E -S <server> -Q "set nocount on;select Header1,Header2,header3,header4 from myTable"|findstr /v /c:"-"

答案 2 :(得分:0)

JerryG发布:

我在另一个有效的网站上找到了答案。我在SQLCMD调用中使用-h-1来关闭Headers,然后在构建我的文件的Select之前的sql中我放了一个Print'Header1 Header2等' HeaderX是实际的列名称,每个标题之间的选项卡作为文件输出是制表符分隔符。它工作,文件上传谢谢 - JerryG