改行文字変換フィルタをバッチファイルで作る。
テキストファイルの改行文字は、OSで異なります。
DOS/Windows CR+LF
Unix/Linux LF
Mac/MainFrame CR
変換フィルタは、SFUにあり、それだけコピーしても使えます。
dos2unix.exe
unix2dos.exe
SFUがなくても、バッチファイルで代替できます。
dos2unix.cmd <CR+LF >LF
---
@echo off
setlocal disabledelayedexpansion
set LF=^
for /f "delims=" %%1 in ('find /n /v ""') do (
set LINE=%%1
setlocal enabledelayedexpansion
<NUL set /p LINE=!LINE:*]=!!LF!
endlocal
)
---
unix2dos.cmd <LF >CR+LF
---
@find /v ""
---
または、
---
@echo off
setlocal disabledelayedexpansion
for /f "delims=" %%1 in ('find /n /v ""') do (
set LINE=%%1
setlocal enabledelayedexpansion
echo;!LINE:*]=!
endlocal
)
---
moreを使ってもできますが、その場合はタブが空白展開されます。
« FORコマンドで、行のフィールドを順次取り出す。 | トップページ | コマンドプロンプトやバッチファイルで、環境変数に制御文字を入れる。 »