バッチスクリプト-関数
関数は、特定のタスクを実行するために一緒に編成されたステートメントのセットです。バッチスクリプトでは、同様のアプローチを採用して、論理ステートメントをグループ化して関数を形成します。
他の言語と同様に、バッチスクリプトの関数も同じ手順に従います-
Function Declaration −関数の名前、戻り値の型、およびパラメーターについてコンパイラーに通知します。
Function Definition −関数の実際の本体を提供します。
関数定義
バッチスクリプトでは、関数はlabelステートメントを使用して定義されます。関数が新しく定義されると、関数への入力「パラメーター」として1つまたは複数の値を取り、本体で関数を処理し、出力「戻り値の型」として値を関数に返します。
すべての関数には、関数が実行するタスクを説明する関数名があります。関数を使用するには、その関数をその名前で「呼び出し」、関数のパラメーターのタイプに一致する入力値(引数と呼ばれる)を渡します。
以下は、単純な関数の構文です。
:function_name
Do_something
EXIT /B 0
function_nameは、関数に付けられた名前であり、関数が実際に行うことと一致する何らかの意味を持つ必要があります。
EXITステートメントは、関数が正しく終了することを保証するために使用されます。
以下は、単純な関数の例です。
例
:Display
SET /A index=2
echo The value of index is %index%
EXIT /B 0
S.No | 機能と説明 |
---|---|
1 | 関数の呼び出し 関数は、callコマンドを使用してバッチスクリプトで呼び出されます。 |
2 | パラメータ付きの関数 関数は、関数が呼び出されたときにパラメーターを渡すだけでパラメーターを操作できます。 |
3 | 戻り値のある関数 関数は、変数名を渡すだけで戻り値を処理できます |
4 | 関数内のローカル変数 関数内のローカル変数を使用して、名前の競合を回避し、変数の変更を関数に対してローカルに保つことができます。 |
5 | 再帰関数 変数の変更を関数に対してローカルに保ち、呼び出し元には見えないようにすることで、関数の本体を完全にカプセル化する機能。 |
6 | ファイルI / O バッチスクリプトでは、任意のプログラミング言語で期待される通常のファイルI / O操作を実行できます。 |
7 | ファイルの作成 新しいファイルの作成は、リダイレクトフィルターの助けを借りて行われます>。このフィルターを使用して、出力をファイルにリダイレクトできます。 |
8 | ファイルへの書き込み ファイルへのコンテンツの書き込みも、リダイレクトフィルターの助けを借りて行われます>。このフィルターを使用して、出力をファイルにリダイレクトできます。 |
9 | ファイルへの追加 ファイルへのコンテンツの書き込みも、二重リダイレクトフィルター>>の助けを借りて行われます。このフィルターを使用して、任意の出力をファイルに追加できます。 |
10 | ファイルからの読み取り バッチスクリプトでのファイルの読み取りは、FORループコマンドを使用して、読み取る必要のあるファイルで定義されている各行を通過することによって行われます。 |
11 | ファイルの削除 ファイルを削除するために、バッチスクリプトはDELコマンドを提供します。 |
12 | ファイルの名前変更 ファイルの名前を変更するために、バッチスクリプトはRENまたはRENAMEコマンドを提供します。 |
13 | ファイルの移動 ファイルを移動するために、バッチスクリプトはMOVEコマンドを提供します。 |
14 | バッチファイル–パイプ パイプ演算子(|)は、あるコマンドの出力(デフォルトではSTDOUT)を受け取り、それを別のコマンドの入力(デフォルトではSTDIN)に送ります。 |
15 | バッチファイル–入力 バッチファイルを実行すると、コマンドラインパラメータを渡すオプションが提供されます。コマンドラインパラメータは、プログラム内で読み取ってさらに処理することができます。 |
16 | SHIFT演算子の使用 コマンドライン引数の制限の1つは、%9までの引数のみを受け入れることができることです。この制限の例を見てみましょう。 |
17 | フォルダー バッチスクリプトでは、任意のプログラミング言語で期待される通常のフォルダベースの操作を実行できます。 |
18 | フォルダの作成 フォルダの作成は、MD(ディレクトリの作成)コマンドを使用して実行されます。 |
19 | フォルダーの内容の一覧表示 フォルダの内容の一覧表示は、dirコマンドを使用して実行できます。このコマンドを使用すると、現在のディレクトリで使用可能なファイルとディレクトリを確認できます。 |
20 | フォルダの削除 フォルダを削除するために、バッチスクリプトはDELコマンドを提供します。 |
21 | フォルダの名前を変更する フォルダの名前を変更するために、バッチスクリプトはRENまたはRENAMEコマンドを提供します。 |
22 | フォルダの移動 フォルダを移動するために、バッチスクリプトはMOVEコマンドを提供します。 |