私は常にそのバット設定機能としてLinuxシェルを好きで、第五にする色とq <115.28.8.00.9.9>実際には、呼び出さないと思っていたが、私はこれが可能であることが判明しました。行ずつ実行されるバッチの特性のためしかし、このラベルの機能は、最終的なテキストで記述する必要があります。以前のバッチコマンドを書く場合、バットはラインで、コマンドライン内で実行されます。文書の最後の方に書かれた、と前にコードをスキップ「機能領域。」
(書かれており、この機能のLinuxのシェルは非常に異なっている、およそ道Tucaoすることにより、コマンド内の関数シェルはバックコマンドで人と呼ばれるように、行ごとに実行するコマンドシェルの前面に書かなければなりません。)
関数の文言:
::この例では、私は、その操作は、コマンドエコーを実行することですtestfunctionという名前の関数を、書き込みしようとしています。
:: callコマンドを使用して、書かれた関数名の前に、後ろに関数名を記述します。これは、ラベルの代表です。
呼び出し:testfunction
:: GOTOコマンドはバッチは、実行時に、すべての機能の一部を省略することができます。
後藤EOF
::関数の先頭から次の行を、彼らは理論的には、あなたは以下のコマンドのいずれかを書くべきではありません、バットスクリプトの最後の部分でなければなりません。まず、GOTOコマンドなど、すべての最初のあなたはlableを記述する必要があります
:testfunction
エコーテスト機能が実行されています。
REM出口/ bが、プログラムが直接プログラムを終了するのではなく、呼び出されたコマンド機能にジャンプすることができます。
終了/ B
:EOF
すべての内容::これらのサンプルスクリプトです。
もちろん、あなたがこのバットで機能するコンテンツを書き込むことができないのではなく、別のbatファイルを作成し、その後も可能であるバットの絶対パスを呼び出します。利便性のために私は一時的に、私はa.batに実行するスクリプトの名前を呼び出しますが、スクリプトはb.batのために呼び出します。
a.batコンテンツはい。
= AAAを設定します
b.bat呼び出します
%bは%エコー
休止
内容はb.batです
エコー%の%
セットB = BBB
両方のスクリプトスクリプトとBに各スクリプトは、変数を定義するが、スクリプトで定義された別の変数を定義していないが、他の変数のエコーは、互いのスクリプトに定義されています。唯一の単一のスクリプト場合は、2つのスクリプトは、コマンドは任意のコンテンツを返していませんエコー。スクリプトを実行すると呼び出しの間でスクリプト呼び出し変数、Bのスクリプトを見つけることができます呼び出す場合でも、彼らは通信することができます。しかし、ラベルはラベルbにはgoto行くためのスクリプトであることができない、スクリプト間で交換することはできません後藤。
しかし、スクリプトを実行した後、バッチ全体が終了し、コマンドを呼び出す書き込むことはできませんあなたがパスに直接スクリプトが、Bの書き込みを書いていない場合は、バットはまだ実行できますが、B。たとえば、私たちは呼び出しを削除するためのスクリプトb.bat呼び出します、スクリプトは変数の値を印刷した後、変数bを割り当てるが、再度、bの値を印刷するスクリプトに戻りませんでしょう。