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。


新しくコメントをつける

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

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 5298, today: 10, yesterday: 6
最終更新: 2020-12-26 (土) 16:07:50 (JST) (1217d) by yuji