2018年4月18日 星期三

DOS: 取得字串變數內的子字串

取得字串變數內的子字串
格式 %var:~m,n%
var 表字串變數名稱
m 為正值表前端要位移的字元數, 若 m 為負值則表由後面開始要選取的字元數(m=0表全部選取)
n 為經過前段處理(m 值的選取)後, 再選取的字元數, 若 n 為正值表選取字元的長度, 若 n 為負值則表由後面要刪除的字元數(n=0 表選取長度為0, 即不選取之意)

範例
設定參數
set line=1234567890ABCDEF

1. 位移10字元(~10)後取的 5 個字元
D:\>echo %line:~10,5%
ABCDE

2. 取字串最後10個字元
D:\>echo %line:~-10%
7890ABCDEF

3. 前端位移3個字元, 後端刪除4個字元
D:\>echo %line:~3,-4%
4567890AB

4. 先取後10個字元後, 再取4個長度的字元
D:\>echo %line:~-10,4%
7890

5. 先取後10個字元後, 刪除最後4個字元
D:\>echo %line:~-10,-4%
7890AB