在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`相关的知识,希望对你有一定的参考价值。

在预构建事件中,执行批处理文件以将多个SQL文件合并为一个。 使用此命令完成:

COPY %@ProjectDir%Migrations*.sql %@ProjectDir%ContinuousDeploymentAllFilesMergedTogether.sql

一切似乎都工作正常但不知何故结果给出了错误的语法错误。 经过两个小时的调查,事实证明这个问题是由一个看不见的角色引起的,即使用记事本++也是如此。 使用在线网站,该角色已被发现,并且U+FEFF已在下图中显示。 enter image description here

这是两个输入脚本。 PRINT 'Script1' PRINT 'Script2'

这是copy命令给出的输出。 PRINT 'Script1' PRINT 'Script2'

附加信息 :

  • 批处理文件使用UTF-8编码
  • 输入文件使用UTF-8-BOM编码
  • 输出文件使用UTF-8-BOM编码。 我不确定是否可以更改命令copy的编码输出。 我尝试过但都失败了。

应该采取什么措施来消除这种极其令人沮丧的寄生特征?

答案

事实证明,将输入文件的编码更改为ANSI确实可以解决问题。 没有更讨厌的角色。 另外,这样做会将结果文件的编码更改为UTF-8而不是UTF-8-BOM,我相信这很棒。

可以使用Notepad ++更改编码,如下图所示。 enter image description here

以上是关于在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`的主要内容,如果未能解决你的问题,请参考以下文章

Windows批处理复制命令是啥?

在 Airflow 中将 Jinja 模板变量与 BigQueryOperator 结合使用

在Python中将wav文件与空格结合起来

Windows 批处理文件 (.bat) 复制命令怎么写?

在 T-SQL 中将变量表与单个变量结合起来

尝试在 Visual Studio 项目中将文件大小转换为可读 - 如何与我现有的代码结合使用