批处理如何输出换行符到文件?问题:从一个现有的文件a复制数据到另一个文件b,当a文件中的数据中存在换行符的时候,如何将该数据原样的复制到b文件。我现在试过了多种方法都不成功,总是将原本含有换行符得一行数据复制成了两行,就是说换行了。
例如:原数据是这样的:
[color=darkgreen]"aaa","111111111","我是中国人。你也是","1","533a ","0"," ","0","--"[/color]
注意在[color=red]“我是中国人。”[/color][color=blue]句号[/color]后面有个换行符,我写不出来。
拷贝后的数据就成了这样的:
[color=#006400]"aaa","111111111","我是中国人。[/color]
[color=#006400]你也是","1","533a ","0"," ","0","--"[/color]
[color=#006400][/color]
[color=black]大家应该能看明白,就是换行符被执行了,而不是被保存了。这样一条数据变成了2条,错误是必然的。[/color]
之所以不直接复制文本是因为还有别的字符编辑。我这里把源问题说明吧。
原文件有这样的这样数据,很复杂有汉字,有数字也有标点符号,甚至有回车符。
现在的需求是需要把纯粹数字的数据去掉引号,空字符串也去掉引号。其他的保留引号,然后作为导入数据库的数据文件。
[color=#006400]"aaa","111111111 ","我是中国人。你也是","1","533a ","0"," ","0","--",""," "," 天涯 "[/color]
[color=#006400][/color]
[color=black]我的做法是读取每一行内容,判断每个字段是否为纯数字,是否为空字符来去留引号,编辑完毕输入到另一个文件保存为数据文件。[/color]
[color=black]所以必须逐行读取,编辑,输出。现在所有问题都解决,唯独这个回车符我没办法。[/color]
若是能直接在原文件修改也行,不过我想不出办法。
文件模型在附件。
在database中经常有这样含有换行符的数据存储,所以该问题也算是个普遍问题。
[color=black]求解诸位,一定有人遇到过这种问题吧。[/color]
换行符可以这样获取:
set Lf=^
echo 123%Lf%abc
不过估计你的意思是在<br>后加回车与换行两个符号,而不是只加换行符吧
示例脚本:
@ echo off
for /f %%a in ('copy /z %0 nul') do (
for %%b in (*.txt) do (
(for /f "delims=" %%c in (^"%%b) do (
set str=%%c
setlocal enabledelayedexpansion
echo !str:^<br^>=^<br^>%%a^
!
endlocal
))>$
move /y $ "%%b"
)
)