基本介紹
- 中文名:無
- 外文名:setlocal
- 功能:批處理本地化操作
- 使用系統:Windows
命令簡介,語法,參數,備註,使用舉例,
命令簡介
開始批處理檔案中環境改動的本地化操作。在執行 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