2017-06-16 2 views
0

Windowsマシンでもう少し深く進むためにバッチプログラミングを学び始めました。インターネットでは、"@echo off"または"on"のようなエコーのコマンドをいくつか見てきましたが、これも"echo"となります。しかし、私は彼らが何をしているのか分かりません。誰でも私にechoコマンドの機能を説明できたら、私に答えてください。echoコマンドはバッチプログラミングでどのように機能するのですか

+1

エコーは出力を制御します。バッチファイルが実行されているコマンドを見たくない場合は、 "echo off"を呼び出します。コマンドエコーを表示したくない場合は、その前に '@'を追加します。 – Tamar

+0

コマンドを入力して '/? 'で続けるとバッチコマンドの目的と使い方を知ることができます - この場合は' echo /?'と入力します – SomethingDark

答えて

3

にエコーされます。

@echo off 

"C:\ Users [User]"コマンド入力前の行が消えます。 (コマンドラインの設定を行う)[オン/オフ]

  • @echo

  • を:ここではECHOのすべての機能を説明

    @echo on 
    

    : あなたはでそれを復元することができます

    echo [テキスト](テキストを画面に印刷する)

  • エコー。(画面に空白行を印刷する)

  • (コマンドラインの現在の設定を表示する)

  • エコーエコー/?(コマンドECHOのヘルプを表示)

私はあなたを助けてくれることを望みます。

+1

'@echo on'を追加したいバッチスクリプトをデバッグするのにも役立ちます。何かが動かないように見えるときに何が起こっているのかを見るためです。 – elzooilogico

+3

これはdbenhamが述べたように、 'echo(')と同じように動作します(https://stackoverflow.com/a/3123194)。 – Kappa

+0

@elzooilogicoはい、「コマンド」アプリケーションのみですが、UI –

2

部分的な答えはこれです:それを実行するときに、コマンド手段は、そのコマンドを表示しませんWhat does "@" mean in Windows batch scripts

@の前に。

オフの引数は、引数の背面にエコーコマンドをオン

インクルードがオフにエコー出力(エコー以降は、まだオフにされていない)ですが、@なしに、他のコマンドの出力ではないスクリプトに指示します。

その他の引数は、単にWindowsのCMDでのECHOコマンドはあなたが行うとき意味コマンドラインの実際の設定を表示し、画面にテキストを印刷するために使用される表示

2

デフォルトでは、バッチファイル内で実行されるすべてのコマンドも出力にエコーされます。コマンドの出力だけでなく、コマンド自体もエコーされます。それは、引数出力は以下となり、

  1. いくつかの引数で呼び出された空間AFTER:

    echoコマンドは、3つのモードがあります。

  2. echo.(スペースなし)と呼ばれると、空白行だけが出力されます。
  3. オンまたはオフだけの引数で呼び出されたとき、彼らが実行すると、それがコマンドを印刷の動作を制御しますが。*

ので、echo offコマンドは、バッチファイルの開始時に出力をオフにします。ただし、そのコマンド自体は、エコーをオフにする機会がある前にまだエコーされています。 @記号は、現在のコマンドだけの出力をオフにする効果があります。

バッチファイルの最初の部分にある@echo offは、2つを組み合わせると、エコーされずにエコーがオフになります。

(*私は正確にどのように出力する「オン「または」オフ」のテキストをするか分からないが、私は、テキストの前後に引用符を使用して動作を変更することを疑う。)

+3

おそらく例外的に、** ** **または** **という単語をエコーし​​たい場合がありますon **(つまり、他の文字列の一部ではない)、 'echo.off'と' echo.on'がトリックをすることがわかります。 –

+3

@JeffZeitlin、 'echo.'と同じ理由で動作します。 "。"は空白文字ではないので、 'echo on'コマンドとして' echo.on'を解析しません。 'echo'コマンドが引数文字列の最初の文字がスキップされる空白文字であると仮定する方法を利用します。この場合は"。 "をスキップします。 – eryksun

+0

非常に興味深い!私はそのエコーを認識しませんでした。 Kappaが別の答えに対するコメントで指摘しているように、フォームの後にさらにテキストを置くこともできます(また、期間でなくてもかまいません)。引用はちょうど出力にエコーされるので、推測は良くありませんでした。 – Harun

関連する問題