【发布时间】:2018-10-11 10:34:08
【问题描述】:
希望大家能帮忙。 我正在寻找一个批处理文件以将特定文件夹中的所有 CSV 文件与行尾“LF”合并。
下面的脚本创建了一个带有“CRLF”EOL 的输出文件,但是我的自动数据加载器只接受“LF”EOL。
我还想在输出文件中有一个标题。
非常感谢您的帮助,因为我已经浪费了足够多的时间来寻找解决方案。
这是我在下面尝试的。
@ECHO OFF
SET first=y
SET newfile=new.csv
for %%F in (*.csv) do IF NOT %%F==%newfile% (
if defined first (
COPY /y "%%F" %newfile% >nul
set "first="
) else (
FOR /f "skip=1delims=" %%i IN (%%F) DO >> %newfile% ECHO %%i
)
)
【问题讨论】:
-
欢迎成为 SO 的新用户。请使用tour 并阅读How to Ask。 Stack Overflow 不是免费的脚本编写服务。预计会有自己的研究和代码尝试。 Edit 在minimal reproducible example 中包含您的 代码的问题。两个提示:第一个line endings 第二个提供的标题都是相同的使用more +1
-
输入文件是否只有
LF终止? -
输入文件是LF。但是输出文件是CRLF。
-
以后用 NotePad++ 之类的编辑器将 CR+LF 转换为 LF 怎么样?因为在纯批处理脚本中,创建 LF-only 文件并不是一件容易的事……
标签: csv batch-file merge