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



我有一个以|为分隔符输出的文件。但是,其中一个字段是源系统中包含回车的描述字段。这是一个问题,当试图读取文件时,它会将其打断到一个新行。我想做的是删除所有前面没有|的CF/LF。

我觉得这在命令行应该是可能的,但还没能想出

样本数据

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

预期输出

|A|Testing This|CF/LF
@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的文件,其中包含您的数据。

生成新文件.txt

忍不住给人的印象是,你最好使用SED thouh-谷歌"GNU SED"了解详细信息。。。

最新更新