Windows中换行符转换

1.使用到的工具dos2unix

工具的下载地址dos2unix
下载完后解压到一个目录中,并且把该目录设置到path中去。

2.新建一个bat文件,将下面的批处理代码复制进去

@echo off
setlocal enabledelayedexpansion
chcp 65001
set "CURRENT_DIR=%~dp0"
set "CURRENT_DIR=%CURRENT_DIR:~0,-1%"
echo %CURRENT_DIR%
cd %CURRENT_DIR%
echo 当前CMD默认目录:"%cd%"
::下面的地址换成自己对应的地址
cd ..\..\..\Assets
for /R %%G in (*.cs) do dos2unix "%%G"
echo 当前CMD默认目录:"%cd%"
echo "转换完毕"
PAUSE

双击运行bat文件,就会把Assets目录下所有的.cs文件转换成LF换行符,如果要包含其他类型的文件,则把for /R %%G in (*.cs) do dos2unix "%%G" 这行代码的 (*.cs) 改成想要的文件类型即可。比如 for /R %%G in (*.cs *.lua *.html) do dos2unix "%%G" 则会把目录下所有的.cs,.lua,.html都转换成LF。


如果是想把LF转换成CRLF,则把for /R %%G in (*.cs) do dos2unix "%%G" 中的 dos2unix 改成 unix2dos 即可:

setlocal enabledelayedexpansion
chcp 65001
set "CURRENT_DIR=%~dp0"
set "CURRENT_DIR=%CURRENT_DIR:~0,-1%"
echo %CURRENT_DIR%
cd %CURRENT_DIR%
echo 当前CMD默认目录:"%cd%"
::下面的地址换成自己对应的地址
cd ..\..\..\Assets
for /R %%G in (*.cs) do unix2dos "%%G"
echo 当前CMD默认目录:"%cd%"
echo "转换完毕"
PAUSE