Batch變數的使用與設置,其實相當簡單。之所以會整理這篇,是因為看不懂別人batch中變數特殊寫法,在我了解後分享給大家。而這些變數的特殊用法,其實也可以透過set /?指令看到。
Set & Get
要修改一個變數只要透過Set指令即可,而要去使用這個變數可以用%將它括起來:
set CMD=java echo %CMD%
上述的batch會在螢幕上顯示出java字眼。系統中在cmd執行後,就會有預設的變數產生,也就是環境變數。要看到這些環境變數,可以透過set的指令:
C:\Users\TonyLin>set ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\TonyLin\AppData\Roaming asl.log=Destination=file CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=TONYLIN-PC ComSpec=C:\Windows\system32\cmd.exe FP_NO_HOST_CHECK=NO
變數處理
假如只想取得變數中的某些區段,可以採下面的做法:
C:\Users\TonyLin>set cmd=javac C:\Users\TonyLin>echo %cmd:~0,4% java
可以看到在cmd後多了:~0,4,這代表著要從index 0開始取4個字元。目前有用過的情況,是parse %date%這個變數內容,去取得今天星期幾,當作備份資料檔名的一部分。
如果使用負數,則是由index往前數,向下面這個範例是取得%cmd%最後一個字元。
C:\Users\TonyLin>set cmd=javac C:\Users\TonyLin>echo %cmd:~-1% c
留言
張貼留言