setlocal

setlocal

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

基本介紹

  • 中文名:無
  • 外文名: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

相關詞條

熱門詞條

聯絡我們