« コマンドプロンプトやバッチファイルで、環境変数に制御文字を入れる。 | トップページ | 改行文字変換フィルタをバッチファイルで作る。(その2) »

2008年11月 6日 (木)

コマンドプロンプトやバッチファイルで、環境変数に改行文字(CR)を入れて使う。

環境変数に改行文字(CR)を入れる。

名 の unicode が 540D、これをシフトJISで読むと、0D 54 つまり、CR+T であることを利用して、CR を抜き出します。

setlocal enabledelayedexpansion
for /f "delims=" %%1 in ('cmd /u /c echo;名') do (
set CR=%%1
set CR=!CR:~0,1!
)

改行文字(CR)を使うときは、環境変数を遅延展開します。

echo aaa!CR!bbb

もし、環境変数を遅延展開しないと、改行文字(CR)は消えます。

echo aaa%CR%bbb

しかし、これはこれで、「改行文字(CR)を消す」ために利用できます。

« コマンドプロンプトやバッチファイルで、環境変数に制御文字を入れる。 | トップページ | 改行文字変換フィルタをバッチファイルで作る。(その2) »