WindowsのバッチファイルでECHOを改行なしで出力 anchor.png

echoコマンドで改行を入れないで出力したいことがあります。

echo テスト > a.txt

とかすると,テストのあとに改行が入ってしまいます。

Linuxのbashとかだと

echo -n "テスト" > a.txt

とすれば,改行が入らないんだけど,Windowsのコマンドプロンプトだとこれが出来ない。(Windowsって,なんでこうなんだろうなぁ・・・)

Windowsでも改行を入れないで出力する場合は,以下のようにすれば出来た。

SET /P X=テスト<NUL > a.txt

何をしているかというと,環境変数Xに対し,「テスト」というプロンプトを表示してユーザに入力をさせるのだが,入力はNULデバイスから行う事により,本来,プロンプトを表示し入力待ちとなるところを,プロンプトの表示だけさせるという,こんなので良いのか・・・っていうような方法。
出力をリダイレクトによりファイルに書き出せば,改行が入らないで出力させることが出来ます。

関係ないけど,空行を出力するには,

echo.

ってすればOK。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

Front page   Freeze Diff Backup Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 3174, today: 3, yesterday: 0
Last-modified: 2020-12-26 (Sat) 16:07:50 (JST) (816d) by yuji