it-swarm-ja.tech

バッチファイルのエコー行に改行文字を入れることはできますか?

バッチファイルのエコー行に改行文字を入れることはできますか?

基本的に私は同等のことができるようにしたいです:

echo Hello\nWorld

Linuxではこれを簡単に行うことができますが、Windowsでこれを行う方法はわかりません。

17
Benj

echo.は空の行を出力します。

例:

echo Hello
echo.
echo world

プリント

Hello

world
35
Blind Trevor

単一のエコーで解決できます。

これには改行文字\nが必要です。新しい行をechoに入れる方法はいくつかあります

1)このサンプルでは、​​マルチラインキャレットを使用してコマンドに改行を追加します。
空の行が必要です

echo Hello^

world

2)次のソリューションでは、最初に1つの改行文字を含む変数を作成します。

set \n=^


rem ** Two empty lines are required

または、少し変更したバージョンで新しい行を作成します

(set \n=^
%=DONT REMOVE THIS=%
)

そして、この文字を遅延展開で使用します

setlocal EnableDelayedExpansion
echo Hello!\n!world

パーセント展開でラインフィード文字を使用するには、より複雑なシーケンスを作成する必要があります

echo Hello^%\n%%\n%world

または、 改行ハック を使用できます

REM Creating a Newline variable (the two blank lines are required!)
set \n=^


set NL=^^^%\n%%\n%^%\n%%\n%
REM Example Usage:
echo There should be a newline%NL%inserted here.

しかし、引用符の内側でも、改行の遅延した拡張のみが確実に機能します。

19
jeb

少し実験したところ、 バッチファイルの改行をエコーするにはどうすればよいですか? で説明されているように、2つの個別のエコーコマンドを発行しなくても実行できることがわかりました。ただし、機能させるには、CRをCR + LFに変換しないテキストエディタが必要です。

タイプ:

@echo First Line

次に、NumLockをオンにして、Altキーを押したままテンキーに10を入力してから、ALTを離します(を使用する必要がありますトップではなくテンキーを使用します行番号キー)。これにより、CR文字が挿入されます。次に、2行目を入力します。エディターと、CR + LFと比較したCRの処理方法に応じて、次のようになります。

@echo First Line◙Second Line

または

@echo First Line
Second Line

これはコマンドラインから機能し、テキストエディターがCRをCR + LFに変換しない限り、バッチファイルで機能します(Windows/DOSエディターは、構成しない限り変換します)。 CRがCR + LFに変換されるか、LFのみを使用する場合、2行目は新しいコマンドとして解釈されます。

しかし、なぜこれが単に望ましいのかわかりません:

@echo First Line
@echo Second Line
13
Clifford

あはは、

私は十分に近いものを考え出したと思います...

echo hello&echo.&echo world

生成する:

こんにちは

世界

5
Benj

echo。またはecho(

空白の改行を行います。これがお役に立てば幸いです。

2
Reu Roo

私はこれが非常に有益であることを発見したので、提供された回答を使用してより良い例を投稿したかった

これはうまくフォーマットされた使用法メッセージを提供します

if "%1" == """" goto usage

:usage
 echo  USAGE: %0 [Set properties using -D flag] [Ant Task to Run]  &
 echo.                                                             &
 echo        Availble Command line properties                      &
 echo        --------------------------------                      &  
...
0
Wiretap