setlocal

setlocal

setlocal是指批處理本地化的一種操作,使啟動批處理檔案中環境變數的本地化。本地化將持續到出現匹配的 endlocal 命令或者到達批處理檔案結尾為止。

命令簡介

開始批處理檔案中環境改動的本地化操作。在執行 SETLOCAL 之後所做的環境改動只限於批處理檔案。要還原原先的設定,必須執行 ENDLOCAL。達到批處理檔案結尾時,對於該批處理檔案的每個尚未執行的 SETLOCAL 命令,都會有一個隱含的 ENDLOCAL 被執行。

語法

setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

參數

enableextensions

啟用命令擴展,直到出現匹配的 endlocal 命令,無論 setlocal 命令之前的設定如何。

disableextensions

禁用命令擴展,直到出現匹配的 endlocal 命令,無論 setlocal 命令之前的設定如何。

注1:在XP中並沒有看到命令擴展的使用.

enabledelayedexpansion

啟用變數延遲,直到出現匹配的 endlocal 命令,無論 setlocal 命令之前的設定如何。

disabledelayedexpansion

禁用變數延遲,直到出現匹配的 endlocal 命令,無論 setlocal 命令之前的設定如何。

使用setlocal讓變數本地化

運行批處理檔案時使用 setlocal 更改環境變數。運行 setlocal 後所做的環境更改是批處理檔案的本地更改。cmd.exe 在遇到 endlocal 命令或者到達批處理檔案的結尾時將恢復上一次的設定。

備註

使用setlocal

當在批處理檔案以外使用setlocal時,不會有任何作用。

更改環境變數

使用setlocal更改環境變數參數時,環境在你運行完批處理後改變。當批處理末尾沒有endlocal參數時cmd.exe將恢復之前的設定。批處理中可以有多個setlocal和endlocal。

使用舉例

可以使用如下的批處理來本地化環境變數:

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.

@echo off

setlocal

path=g:\programs\superapp;%path%

call superapp>c:\superapp.out

endlocal

start notepad c:\superapp.out

相關詞條

相關搜尋

熱門詞條

聯絡我們