2012-09-20 8 views
7

にスペースを付けずに私はDOSのファイルに何かを印刷するには、エコーを使用する場合、スペースは文字列に追加されていることに気づきました。後ろにスペースを入れずに文字列を印刷する必要があります。これを行う方法はありますか?回避策として、ファイルの末尾のスペースを削除しますか?使用エコーDOS

答えて

19

私が正しく問題を理解している場合、あなた末尾のスペースを書きました。代わりに

echo string > file 

使用

echo string>file 
+0

ハ!それはまさにそれです!エコーがそれの後に正確な文字列を出力することに気付かなかった。ありがとう! – Rayne

+2

これは良いようですが、動作しません。これを試してください: 'echo 1 2 3> file'。文字列の末尾が数字の場合、リダイレクションはそれをパイプチャンネルとして扱います。あなたは引用符で囲むことができますが、引用符で囲む必要はありません。 – Synetech

+2

@Synetech '(エコー1 2 3)>同じことが '/ Fは、 "トークン= * delims =" %% xの(file.txtなど)エコー%X> FILE2.TXTでバッチを介して達成することができる – bers

0

は、いくつかの簡単な検索があなたが複数のオプションを持っているようだthis link

私をもたらしました。あなたはポストエコースクリプトを使用してファイルを解析したい場合は、末尾のスペースをはぎとりファイル(通常は.TXT)を通る線によって、行をループし、RTrimを行い、このVBScriptの

Do While Not WScript.StdIn.AtEndOfStream 
    WScript.Echo RTrim(WScript.StdIn.ReadLine) 
    Loop 

を、検討することができます。

乾杯あなたがではなくについてcmd.exeを話していると仮定すると、

+0

file' '。しかし、元のファイルでそれをやってみませんか? –

10

実際(むしろ時代遅れ)MSDOSは、これを行うには、いくつかの方法、最初ビーイングがあります

echo Here is some text>output.txt 

が、私はコマンドライン上で '引数'を明確に描写することに慣れていたので、それはいくぶん読みにくいことがわかりました。

また、コマンド・ラインの順序の周りにスワップからあなたを止めるものは何もありません:あなたはまだあなたの出力ファイルに入れて余分なスペースを持っていないながら、引数を区切ることができます

>output.txt echo Here is some text 

は実際に、私は多くの場合だけでなく、コードのブロックのため、この方法を使用しました:

>output.txt (
    echo hello 
    echo goodbye 
) 

がどのファイルへ 両方行を書きます。あなたは出力がかなり進み、コードブロックの最後で見てたよりも、起こっている開始時に、右知っているので、私はそのような場合にはそれが望ましい見つけます。

+0

Iはコードのブロック内からエコーとき、それは時々、単一のライン上のキャリッジ・リターン、および出力を失うであろうことを見出しました。 –

+0

私も先行スペースに問題があったので、上記の形式でエスケープ文字(^)を使用しました:echo^string1。治療をしました。 – will

+0

'echoここにいくつかのテキストがあります>出力。txt しかし、コマンドラインで「引数」をはっきりと記述するのに慣れていたので、それはやや読みにくいです。さらに重要なのは、テキストが数字で終わると、パイプチャンネルとして扱われることです。 2つ目はうまくいくようです(私は前にそのフォームを見たことはありません)。ありがとう。 – Synetech

関連する問題