2017-08-31 4 views
1

これは本当に簡単なようだが、私はとてもこだわっています - ほぼ一致する質問の多くを探してちょうど答えを見つけることができません。コロンでメッセージをエコーするにはどうすればいいですか?

私がやりたいことすべてはこのようなものです:

echo c:\another\test\file.h(22,11) : warning 123: this is a test warning 

しかし、それはエラーを与える:: was unexpected at this time

は、だから私は試してみました:生産

echo "c:\another\test\file.h(22,11) : warning 123: this is a test warning" 

"c:\another\test\file.h(22,11) : warning 123: this is a test warning"を。しかし、私は引用符が欲しいわけではありません。だから私はエスケープ文字 "^"を使ってみました:

echo c^:\another\test\file.h(22,11) ^: warning 123^: this is a test warning 

しかしこれは効果がありませんでした。どうすればこれを達成できますか?

UPDATE:

このコード行は、違いを確認するために表示された場合はブロック、!:

if exist "somefile" ( echo c:\another\test\file.h(22,11) : warning 123: this is a test warning )

+1

'エコーC:\別の\テスト\のファイル.h(22,11):123警告:これはエラーなし私のために完璧に動作warning'テストです。だから、これはあなたのコードの単なるスニペットであり、エラーはどこか別の場所から来ていると思います。完全なコードを投稿してください。 – MichaelS

+3

私はこのコード行は、コードの括弧のブロック内に配置され、そうされる推測 ')' 'なり閉鎖一つとして解釈される:123警告:...'無効なコマンド。 ')')^ 'で脱出しようとし' ... – aschipfl

+0

@aschipfl - はいあなたは正しいです、それは ')... ...ここに(もし'ブロックの中にあった、私が持っていただろう分かりませんでしたエコーステートメントへの影響 - それほど難しいことではありませんでした。それをifブロックから移動して、うまく動作します:) ...それを答えとして追加してください。私は質問を更新します –

答えて

4

内にある、私はあなたのコマンドラインを内に配置されると信じて例えば、このようなコードのparanthesisedブロック、:

if exist "c:\another\test\file.h" (
    echo c:\another\test\file.h(22,11) : warning 123: this is a test warning 
) 

Soはechoコマンドラインで閉鎖)は無効なコマンドラインのように部分: warning 123: this is a test warningを残し、閉鎖ブロック全体の一つとして解釈されます。ここでの問題の原因ではないので

if exist "c:\another\test\file.h" (
    echo c:\another\test\file.h(22,11^) : warning 123: this is a test warning 
) 

コロン:warning: ...の前にある実際:

は、それを解決するために、あなたはcmdのエスケープ文字であるキャレット^を、先行することによって)をエスケープする必要があります。

関連する問題