Windows下文件中的LF换行符替换成CRLF

这两天碰到一个CRLF换行问题。

客户因为安全问题要把ftp换成sftp,这样的话,原来用ftp从文件系统下载文件的都要改成sftp,

干法就是用Putty的psftp.exe命令。

 

代码大概如下:

echo off
echo y |"C:\Program Files (x86)\PuTTY\psftp.exe" -pw PASSWORD -b "c:\exe\ftpcommand.ftp" [email protected] > "c:\exe\ftpcommand.log"
cd c:\exe
find today.csv
del tmp_today.csv

echo "BAT_END" > c:\exe\ftpsync.txt
exit

 

cd /home/myuser/data/
lcd c:\exe
get today.csv tmp_today.csv
bye

 

本来是没有红色的三行的, 为什么加他呢?

就是因为文件系统上是Linux的LF换行符,可是到本地想要换成CRLF换行。

为什么想要呢,因为原来ftp传输的时候,自动就给把LF给变成了CRLF了,后边的程序也是这么用的。

现在换成sftp了,不自动变了,所以就得手动变。

 

现在说说为什么红色的三行就可以把LF给变成CRLF。

我猜是因为windows下运行的find命令,所以默认使用Windows换行吧。

 

找了半天,找到了一个贴讲这件是的,是个日文帖,想看的同学,勉强看吧。

http://ippanse.techblog.jp/archives/2238655.html

 

 

 

你可能感兴趣的:(#,豆知识,CRLF,LF,换行符)