setlocalsetlocal

バッチ ファイルで環境変数のローカライズを開始します。Starts localization of environment variables in a batch file. ローカライズが一致するまで endlocal コマンドが見つかるまたはバッチ ファイルの末尾に到達します。Localization continues until a matching endlocal command is encountered or the end of the batch file is reached.

このコマンドを使用する方法の例については、を参照してください。For examples of how to use this command, see Examples.

構文Syntax

setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]

引数Arguments

引数Argument 説明Description
使ってenableextensions 一致するまでコマンド拡張機能を有効 endlocal する前に設定に関係なく、コマンドが発生しました、 setlocal コマンドが実行されました。Enables the command extensions until the matching endlocal command is encountered, regardless of the setting before the setlocal command was run.
disableextensionsdisableextensions 一致するまでコマンド拡張機能を無効に endlocal する前に設定に関係なく、コマンドが発生しました、 setlocal コマンドが実行されました。Disables the command extensions until the matching endlocal command is encountered, regardless of the setting before the setlocal command was run.
enabledelayedexpansionenabledelayedexpansion により、一致するまで遅延環境変数の拡張 endlocal する前に設定に関係なく、コマンドが発生しました、 setlocal コマンドが実行されました。Enables the delayed environment variable expansion until the matching endlocal command is encountered, regardless of the setting before the setlocal command was run.
disabledelayedexpansiondisabledelayedexpansion 一致するまで遅延環境変数の拡張を無効に endlocal する前に設定に関係なく、コマンドが発生しました、 setlocal コマンドが実行されました。Disables the delayed environment variable expansion until the matching endlocal command is encountered, regardless of the setting before the setlocal command was run.
/?/? コマンド プロンプトにヘルプを表示します。Displays help at the command prompt.

注釈Remarks

  • 使用して setlocalUsing setlocal

    使用すると setlocal スクリプトまたはバッチ ファイルの外部で影響を与えません。When you use setlocal outside of a script or batch file, it has no effect.

  • 環境変数を変更します。Changing environmental variables

    使用 setlocal バッチ ファイルを実行すると、環境変数を変更します。Use setlocal to change environment variables when you run a batch file. 実行した後で変更した環境 setlocal バッチ ファイルに対してローカルです。Environment changes made after you run setlocal are local to the batch file. Cmd.exe プログラムが検出した場合に、以前の設定を復元する endlocal コマンドまたはバッチ ファイルの末尾に到達します。The Cmd.exe program restores previous settings when it encounters an endlocal command or reaches the end of the batch file.

  • 入れ子のコマンドNesting commands

    1 つ以上を持つことができます setlocal または endlocal コマンド バッチ プログラム (つまり、入れ子になったコマンド) を実行します。You can have more than one setlocal or endlocal command in a batch program (that is, nested commands).

  • バッチ ファイルでコマンド拡張機能のためのテストTesting for command extensions in batch files

    Setlocal ERRORLEVEL 変数を設定します。The setlocal command sets the ERRORLEVEL variable. 渡した場合 {使って | disableextensions} または {enabledelayedexpansion | disabledelayedexpansion}、ERRORLEVEL 変数に設定されている 0 (ゼロ)。If you pass {enableextensions | disableextensions} or {enabledelayedexpansion | disabledelayedexpansion}, the ERRORLEVEL variable is set to 0 (zero). 設定されている場合は、 1します。Otherwise, it is set to 1. バッチ スクリプトでこの情報を使用すると、次の例で示すように拡張機能は、使用できるかどうかを決定します。You can use this information in batch scripts to determine whether the extensions are available, as shown in the following example:

    setlocal enableextensions
    verify other 2>nul
    if errorlevel 1 echo Unable to enable extensions
    

    Cmd コマンド拡張機能を無効にすると、ERRORLEVEL 変数を設定しない、 確認 に無効な引数を使用する場合、コマンドを 0 以外の値を ERRORLEVEL 変数を初期化します。Because cmd does not set the ERRORLEVEL variable when command extensions are disabled, the verify command initializes the ERRORLEVEL variable to a nonzero value when you use it with an invalid argument. またを使用する場合、 setlocal コマンドの引数に {使って | disableextensions} または {enabledelayedexpansion | disabledelayedexpansion} と、ERRORLEVEL 変数を設定しません 1, 、コマンド拡張機能は使用できません。Also, if you use the setlocal command with arguments {enableextensions | disableextensions} or {enabledelayedexpansion | disabledelayedexpansion} and it does not set the ERRORLEVEL variable to 1, command extensions are not available.

Examples

次のサンプル スクリプトで示すようにバッチ ファイルで環境変数をローカライズすることができます。You can localize environment variables in a batch file, as shown in the following sample script:

rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out

その他の参照情報Additional references

コマンドライン構文キーCommand-Line Syntax Key