iT邦幫忙

DAY 6
4

DOS 不死系列 第 6

區域變數

在批次檔中,用SET設定的變數是全域變數,使用SETLOCAL來指定開始設定區域變數,用ENDLOCAL來結束設定區域變數。
在前面文章提到的SET指令,是用來自訂變數,這個自訂的變數會在批次檔結束之後,繼續存在,直到啟動該批次檔的cmd.exe結束之後,自訂的變數才會消失。

所以如果要定義區域變數可用SETLOCAL,例如要把 您好! 這幾個字存在自訂的區域變數 HELLO,可以在[命令提示字元]視窗打入

SETLOCAL
SET HELLO=您好!

要顯示自訂變數就跟上一篇講的方法一樣,在變數的前後加上%:

ECHO %HELLO%

執行結果:

您好!

要結束設定區域變數,就打入:

ENDLOCAL

PS:如果直接在[命令提示字元]視窗使用SETLOCAL跟ENDLOCAL來定義區域變數,會發現這些自訂的區域變數根本就是全域變數,所以區域變數要在批次檔內使用,才能發揮應有的效果。

例如批次檔內容:

SETLOCAL
SET HELLO=您好!
ECHO %HELLO%
ENDLOCAL
ECHO %HELLO%

執行結果:

C:\>SETLOCAL

C:\>SET HELLO=您好!

C:\>ECHO 您好!
您好!

C:\>ENDLOCAL

C:\>ECHO
ECHO 已啟動。

上一篇
使用自訂變數提示使用者進行輸入
下一篇
程式執行結果的回傳碼
系列文
DOS 不死18

尚未有邦友留言

立即登入留言