[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%
##
您可能也會有興趣的類似文章
- [Vista] 設定環境變數SET命令的擴充 (0則留言, 2008/04/19)
- [Windows] 去除環境變數DATE與TIME內的空白 (0則留言, 2008/04/20)
- 開始使用Cygwin以取代cmd.exe (2則留言, 2007/01/11)
- 在命令提示字元取得目前資料夾路徑的方法—使用set /p|初學者的命令行#10 (0則留言, 2021/04/22)
- [Batch#1] Windows批次檔-取得系統日期的簡單方法與環境變數字串操作 (初學者的命令行 #5) (2則留言, 2019/12/15)
- 替Prompt加上顏色 (1則留言, 2004/12/03)
- [Windows] 比對檔案時間並拷貝較新檔案的命令行作法 (0則留言, 2023/02/10)
- [Windows] 環境變數的擴充功能 (1則留言, 2005/02/23)
- 方便切換目錄的指令:PUSHD與POPD (0則留言, 2006/07/15)
- 以title命令賦予命令提示字元(cmd.exe)不同的標題名稱以增加辨識度 (0則留言, 2013/10/29)
- Windows系統命令與快速鍵 (0則留言, 2005/02/04)
- DOS視窗的設定 (0則留言, 2005/01/20)
- [Batch#2] 三個方便的Windows批次檔範例 (初學者的命令行 #6) (0則留言, 2019/12/26)
- 如何用批次指令取得上個月的月份-再修訂版 (12則留言, 2008/10/21)
- DOS (命令提示字元) 的巨集功能 (3則留言, 2005/01/18)
Sorry, 很久沒用Google sc…