[DOS] 以set指令的替換字串功能來解決資料夾重覆附加的小問題

本文介紹的小技巧適合常在Windows命令提示字元(DOS視窗)內工作有點小潔癖的開發人員參考。我們經常在開發系統時於DOS視窗裡執行批次檔以啟動應用程式伺服器,為了能確認執行到需要的執行檔會特別設定PATH環境變數,例如把PATH指向正確的JDK資料夾以執行到正確的java.exe:

@echo off
title AP Server running...
set JAVA_HOME=C:\JDK1.7.0_91
set PATH=C:\JDK1.7.0_91\bin;%PATH%
resin console

當我們在DOS視窗裡重覆執行幾次後,PATH環境變數就會因開頭固定添加的資料夾而越變越長:

c:\Resin4>set path
Path=C:\JDK1.7.0_91;C:\JDK1.7.0_91;C:\JDK1.7.0_91;j:\util\svn;D:\oracle\product\10.2.0\db_1\BIN\;D:\oracle\product\10.2.0\db_1\bin;d:\util;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\util\git\cmd;D:\util\EmEditor;D:\Program Files\TortoiseSVN\bin

使用set指令的字串替換(%環境變數 : 原有字串 = 新字串%)就能解決這個小小問題。第2行指令把PATH環境變數裡的 C:\JDK1.7.0_91\bin; 替換為空字串,第3行再把C:\JDK1.7.0_91\bin; 加到PATH裡,以確保PATH不會出現多個 C:\JDK1.7.0_91\bin; 。

set JAVA_HOME=C:\JDK1.7.0_91
set _PATH=%PATH:C:\JDK1.7.0_91\bin;=%
set PATH=%JAVA_HOME%\bin;%_PATH%

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *