2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ECHOなどの内部コマンドの区切り文字は、=;,を使うべし。:\./+[]は使わないこと。 | トップページ | FORコマンドで、行のフィールドを順次取り出す。 »

2008年11月 2日 (日)

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

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

コマンドプロンプトでは、

SET LF=^(改行)
More? (改行)
More? (改行)

バッチファイルでは、

SET LF=^(改行)
(改行)
(改行)

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

コマンドプロンプトでは、

CMD /V:ON
SET x=aaa!LF!bbb
ECHO !x!
EXIT

バッチファイルでは、

SETLOCAL ENABLEDELAYEDEXPANSION
SET x=aaa!LF!bbb
ECHO !x!

遅延展開しないと、改行されて、改行文字以降が消えます。

ECHO aaa%LF%bbb

また、FOR /F IN ("文字列")の中で改行文字(LF)を使うと、「複数行の文字列」になります。

FOR /F %%1 IN ("aaa!LF!bbb") DO ECHO;"%%1"

« ECHOなどの内部コマンドの区切り文字は、=;,を使うべし。:\./+[]は使わないこと。 | トップページ | FORコマンドで、行のフィールドを順次取り出す。 »