从文件Windows命令行中的字符串字段中删除回车符

时间:2014-11-12 20:10:37

标签: command-line carriage-return

我有一个以|作为分隔符输出的文件。但是,其中一个字段是源系统中包含回车符的描述字段。尝试读取文件时,这是一个问题,因为它将文件分解为新行。我想要做的是删除所有不在|之前的CF / LF。

我觉得这应该可以在命令行上实现,但却无法想出来。

示例数据

|A|Testing CF/LF
This|CF/LF

预期产出

|A|Testing This|CF/LF

1 个答案:

答案 0 :(得分:2)

@ECHO Off
SETLOCAL
SET "line="
(
FOR /f "delims=" %%a IN (q26895698.txt) DO (
 CALL :generate "%%a"
)
)>newfile.txt

TYPE newfile.txt

GOTO :EOF

:generate
SET "line=%line%%~1"
IF "%line:~-1%"=="|" SET "line="&FOR %%x IN ("%line%") DO ECHO(%%~x
GOTO :eof

我使用了一个名为q26895698.txt的文件,其中包含您的数据(例如它),用于我的测试。

制作newfile.txt

无法提供帮助,但会让您感觉更好,SED thouh - google" GNU SED"详情......