ENDLOCAL

結束批處理檔案中環境改動的本地化操作。在執行ENDLOCAL 之後所做的環境改動不再僅限於批處理檔案批處理檔案結束後,原先的設定無法還原。

功能,定義,性質,套用,

功能

ENDLOCAL
如果命令擴展名被啟用,ENDLOCAL 會如下改變:
如果相應的 SETLOCAL 用新的 ENABLEEXTENSIONS 或
DISABLEEXTENSIONS 選項啟用或停用了命令擴展名,那么,在
ENDLOCAL 之後,命令擴展名的啟用/停用狀態會還原到執行
相應的 SETLOCAL 命令前的狀態。

定義

  • 必須在腳本或批處理檔案中使用 endlocal。如果在腳本或批處理檔案之外使用 endlocal,則該命令無效。
  • 在批處理檔案的結尾處有一個隱含的 endlocal 命令。
  • 通過啟用命令擴展名(即,默認值),endlocal 命令將命令擴展名的狀態(即,已啟用或已禁用)還原到執行匹配 setlocal 命令之前的狀態。有關啟用和禁用命令擴展名的詳細信息,請參閱“相關主題”中的 cmd。

性質

在SetLocal之後調用

套用

setlocal 會開闢一個臨時變數存儲空間,setlocal後所有的變數賦值、修改都是臨時的,遇到endlocal則還原到setlocal之前的狀態。有點類似於全局變數與局部變數的關係。
比如:
@echo off
set a=1
setlocal
set /a a+=1
echo %a%
endlocal
echo %a%
pause
以上批處理會輸出
2
1

相關詞條

熱門詞條

聯絡我們