0

我有一个将 csv 文件导入 SQL 数据库的批处理文件,但源数据通常包含非打印字符(Excel 代码(10)),这会导致导入过程中出现问题。

如何删除 char(10) 作为批处理文件的一部分?

4

1 回答 1

0

您可以从批处理文件中调用powershell.exePowerShell 的CLI,如下所示:

powershell -c "(Get-Content -Raw in.csv) -replace '(?<!\r)\n', ' ' | Set-Content out.csv"

以上:

  • in.csv完整读取文件
  • 用空格字符替换所有独立的 LF (LINE FEED, U+000A) 字符(即不属于 CRLF Windows 样式换行符的字符)
  • 将输出保存到out.csv(您可以保存回同一个文件,但如果保存回的过程被中断,则存在数据丢失的假设风险)

您可能必须使用Get-ContentandSet-Content-Encoding参数来控制输入和输出编码。

于 2021-02-10T18:16:04.853 回答