功能,定義,性質,套用,
功能
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