[ホーム] - [バッチファイル サンプル一覧] - [【サンプル2通り】echo で改行しないで表示する]

【サンプル2通り】echo で改行しないで表示する | Windows バッチファイル






Windows 環境におけるバッチファイルで echo コマンドで改行を行わない方法を紹介します。
一般的な echo コマンドでは文字列を出力すると最後に自動的に改行が表示されます。

サンプルコード


@echo test1
@echo test2



実行例

test1
test2



しかし何らかの理由で改行を出力したくない場合もあるでしょう。少なくとも Windows の echo ではオプションにより改行の有無をコントロールすることはできないようです。
そんな場合にトリッキー的に改行を出力しない方法を紹介します。


・先頭に@を付けることでコマンドそのものは画面に出力しません。

サンプルコード集

以下は Windows 10 環境におけるサンプルコードと実行結果です。


トリッキーですがなぜか以下のように set /p で文字列を指定すると改行しないで出力されます。実行例を見てください。"test1" と "test2" が改行なしで連続して出力されています。Windows 10 のバージョン1909で動作確認しました。

サンプルコード:

@echo|set /p="test 1"
@echo|set /p="test 2"


実行結果:

test 1test 2



二つ目の方法として、入力待ちに NUL にリダイレクトしてしまう方法です。
これは set /P により通常はユーザの入力待ちになりますが(待ちなので改行は出力されない)それをにNUL を入れて、入力処理をキャンセルしてしまうとうことです。

Windows 10 のバージョン1909で動作確認しました。

サンプルコード:


@SET /P X=test1 < NUL
@SET /P X=test2 < NUL

実行結果:

test1 test2




ちなみに逆に echo で改行のみ出力するには . を使用します。

サンプルコード:


echo .







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]