CMD setlocal 命令

C:\Documents and Settings\Administrator>setlocal /?
開始批處理文件中環境改動的本地化操作。在執行 SETLOCAL 之後
所做的環境改動只限於批處理文件。要還原原先的設置,必須執
行 ENDLOCAL。達到批處理文件結尾時,對於該批處理文件的每個
尚未執行的 SETLOCAL 命令,都會有一個隱含的 ENDLOCAL 被執行。

SETLOCAL

如果命令擴展名被啓用,SETLOCAL 會如下改變:

SETLOCAL 批命令現在可以接受可選參數:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
啓動或停用命令處理器擴展名。詳細信息,請參閱 CMD /?。
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
啓動或停用延緩環境變量擴展名。詳細信息,請
參閱 SET /? 。
無論在 SETLOCAL 命令之前它們的設置是什麼,這些修改會一直
保留到匹配的 ENDLOCAL 命令。

如果有一個參數,SETLOCAL 命令將設置 ERRORLEVEL 的值。
如果有兩個有效參數中的一個,該值則爲零。用下列技巧,您
可以在批腳本中使用這個來決定擴展名是否可用:

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions

這個方法之所以有效,是因爲在 CMD.EXE 的舊版本上,SETLOCAL
不設置 ERRORLEVEL 值。具有不正確參數的 VERIFY 命令將
ERRORLEVEL 值初始化成非零值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章