請問批處理setlocal命令一般如何使用

時間 2021-06-03 19:06:14

1樓:馮玉關

開始批處理檔案中環境改動的本地化操作。在執行 SETLOCAL 之後所做的環境改動只限於批處理檔案。要還原原先的設定,必須執行 ENDLOCAL。

達到批處理檔案結尾時,對於該批處理檔案的每個尚未執行的 SETLOCAL 命令,都會有乙個隱含的 ENDLOCAL 被執行。

SETLOCAL

如果命令擴充套件被啟用,SETLOCAL 會如下改變:

SETLOCAL 批命令現在可以接受可選引數:

ENABLEEXTENSIONS / DISABLEEXTENSIONS

啟用或禁用命令處理器擴充套件。這些引數比 CMD /E:ON 或 /E:OFF 開關有優先權。請參閱 CMD /? 獲取詳細資訊。

ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION

啟用或禁用延緩環境變數擴充套件。這些引數比 CMD /V:ON 或 /V:OFF 開關有優先權。請參閱 CMD /? 獲取詳細資訊。

無論在 SETLOCAL 命令之前它們的設定是什麼,這些修改會一直保留到匹配的 ENDLOCAL 命令。

如果有乙個引數,

SETLOCAL 命令將設定 ERRORLEVEL 的值。如果有兩個有效引數中的乙個,該值則為零。

用下列技巧,您可以在批指令碼中使用這個來決定擴充套件是否可用:

VERIFY OTHER 2>nul

SETLOCAL ENABLEEXTENSIONS

IF ERRORLEVEL 1 echo Unable to enable extensions

這個方法之所以有效,是因為在 CMD.EXE 的舊版本上,SETLOCAL 未設定 ERRORLEVEL 值。具有不正確引數的 VERIFY 命令將 ERRORLEVEL 值初始化成非零值。。。

怎麼使用批處理命令對檔案進行分類,同時建立資料夾將子項放入,請問怎麼做?

思路1 你的就檔名前面數字長度一致,取前6位建立資料夾分類。資料夾名為前6位數字 再可以在bat中再把前6位數字與漢字一一對應,重新命名資料夾。個這我就不做了。SETLOCAL ENABLEDELAYEDEXPANSION echo off for f delims s in dir b a d t...

批處理 Excle可以用什麼來代替呢?

ymsshu vba和python都可以做批處理。只是你的技術沒到家。實際上原理都是一樣的。如果是結構化的文字處理可以嘗試sqlcel。sqlcel可以非常方便的對結構化的文字增刪改查,合併新增等 郭大牛 你這個理解存在偏差,或者說你對批處理命令沒什麼概念。批處理是系統級別的操作語言,VBA是應用程...

如何用批處理在 txt檔案中尋找關鍵詞?

哩掉掉 tmp files work test for l i in 100,17,10000 do for l j in 100,5,300 do echo 4 i j0 xf 2.txt 讓我們看看生成的樣本檔案 D tmp files work test more xf 2.txt 41001...