表題の通りです。
実務で使う機会があったのでメモします。
置換するだけならgrep置換機能で良いのですが、古いバージョンだとこの機能が入っていませんし、ソート→マージ等の置換以外の機能を使いたくなることもあるので。
以下、例を用いて説明します。
【フォルダ構成】
C┬Program Files (x86)─sakura─sakura.exe
└tmp┬work─(マクロの処理対象のファイル)
├CRLF→LF.mac
└CRLF→LF.bat
【ファイルの中身】
・CRLF→LF.mac
S_ReplaceAll('\\r\\n', '\\n', 60); // すべて置換
S_ReDraw(0); // 再描画
FileSave( ); // 上書き保存
WinClose( ); // 閉じる
・CRLF→LF.bat
rem forループでworkフォルダの中のファイルを順番にサクラエディタで開く。その際CRLF→LF.macを呼び出す。
cd C:\tmp\work
for %%a in (*) do (call :method %%a)
exit
:method
"C:\Program Files (x86)\sakura\sakura.exe" %1 -M=C:\tmp\CRLF→LF.mac
goto :eof
【処理結果】
C:\tmp\work の直下のファイルについて、改行コードの置換が一括で行われる。(WindowsのCRLF→UnixのLF)