我有一个批处理文件,它将csv文件导入SQL数据库,但源数据通常包含非打印字符(Excel代码(10((,这会在导入过程中造成问题。
如何将char(10(作为批处理文件的一部分删除?
您可以从批处理文件中调用powershell.exe
,PowerShell的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-Content
和Set-Content
的-Encoding
参数来控制输入和输出编码。