- 批處理指令碼教程
- 批處理指令碼 - 主頁
- 批處理指令碼 - 概述
- 批處理指令碼 - 環境
- 批處理指令碼 - 命令
- 批處理指令碼 - 檔案
- 批處理指令碼 - 語法
- 批處理指令碼 - 變數
- 批處理指令碼 - 註釋
- 批處理指令碼 - 字串
- 批處理指令碼 - 陣列
- 批處理指令碼 - 決策制定
- 批處理指令碼 - 運算子
- 批處理指令碼 - 日期和時間
- 批處理指令碼 - 輸入/輸出
- 批處理指令碼 - 返回程式碼
- 批處理指令碼 - 函式
- 批處理指令碼 - 程序
- 批處理指令碼 - 別名
- 批處理指令碼 - 裝置
- 批處理指令碼 - 登錄檔
- 批處理指令碼 - 網路
- 批處理指令碼 - 列印
- 批處理指令碼 - 除錯
- 批處理指令碼 - 日誌記錄
- 批處理指令碼資源
- 批處理指令碼 - 快速指南
- 批處理指令碼 - 有用資源
- 批處理指令碼 - 討論
批處理指令碼 - 函式中的區域性變數
函式中可使用區域性變數來避免名稱衝突,並使變數更改保持在該函式的區域性範圍內。首先使用 SETLOCAL 命令來確保命令處理器備份所有環境變數。可以透過呼叫 ENDLOCAL 命令來還原變數。在這兩者之間所做的任何更改均是當前批處理指令碼的區域性更改。當批處理檔案結束時,會自動呼叫 ENDLOCAL,即透過呼叫 GOTO:EOF 來進行呼叫。
透過 SETLOCAL 實現變數本地化允許使用函式中的變數名稱,而無需擔心與函式之外使用的變數的名稱衝突。
以下示例演示如何在函式中使用區域性變數。
示例
@echo off set str = Outer echo %str% CALL :SetValue str echo %str% EXIT /B %ERRORLEVEL% :SetValue SETLOCAL set str = Inner set "%~1 = %str%" ENDLOCAL EXIT /B 0
輸出
在上述程式中,區域性變數“str”在函式 SetValue 中執行了本地化。因此,儘管 str 值被返回到主函式,但主函式中 str 的值不會被函式返回的值所替換。
上述命令會產生以下輸出。
Outer Outer
batch_script_functions.htm
廣告