我正在從.properties文件讀取屬性(如下所示:applocation = c:\ x \ y \ z)。 使用行:FOR /F "eol=; tokens=2,2 delims==" %%i IN ('findstr /i "applocation" %1') DO set name=%%i
bat文件:變量有錯誤的值,直到下次執行bat?
%1是作爲參數傳遞的.property文件的位置。
設置屬性後,我做的事:
呼應%applocation%
但是我第一次執行它相呼應,從我執行的批處理文件的位置bat文件。只有在同一個控制檯窗口再次執行bat文件後,才能獲得正確的值。
這非常令人厭惡,特別是因爲如果我關閉了命令窗口,我必須重新執行此操作。
謝謝,這似乎是個竅門。唯一缺少的是終點。 – Jack 2011-02-25 10:24:58
@Jack,'endlocal'暗示在批處理文件的末尾。請記住'setlocal'也設置了一個本地環境。對環境變量所做的任何更改都不會在'endlocal'之後持續存在,這可能不是您想要的。 – Joey 2011-02-25 10:36:37