• ベストアンサー

echoの出力の最後のスペースを除去したい

テキストファイルにechoで出力するバッチファイルを作成しています。 echo出力の最後にスペースが1つだけ余分に追加されてしまいます。 これを除去するにはどうしたらよいでしょうか。 例えば、以下の内容が記載されたバッチファイルを実行すると、 出力の最後に不要な半角スペースが追加されます。    set COMMAND=ping 192.168.0.1 -n 1    echo %COMMAND% >> out.txt

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

実際に試すと #1 の方法は都合が悪いことがわかる. 方針はあってるんだけどね. リダイレクトって, 行の最後じゃなくてもいいんだよ.

nanako_04
質問者

お礼

このヒントで解決しました。 ありがとうございます。

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

To: Tacosan ご指摘ありがとうございます, 分かりきった問題だろうと決めつけず,テストケースを実行してみるべきでした。 1>>stdout,2>>stderr,おっしゃるとおりの結果でした。 Tacosanからの回答どおり,次のようにするとよいです。 set COMMAND=ping 192.168.0.1 -n 1 >>out.txt echo %COMMAND%

nanako_04
質問者

お礼

No2 の回答で解決しました。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

自分自身で出力指定している次の空白を取り除けばよい。 echo %COMMAND%空白>> out.txt

nanako_04
質問者

お礼

他の方が勘違いしないよう、この回答は間違いであることを明記しておきます。 確かに、このサイトでは回答は善意で行われていると思いますが、 動作も確認せず勇み足で間違った回答をするのは、回答しないよりもまずいと私は思います。

関連するQ&A