@echo off set str=123456789 rem 定義一個str字符串為123456789 echo 第一個字符為:%str:~0,1% rem 指針為0,偏移地址為1,即從第0位開始,取1位 echo 頭兩個字符為:%str:~0,2% rem 指針為0,偏移地址為2,即從第0位開始,取2位 echo 頭5個字符為:%str:~0,5% rem 指針為0,偏移地址為5,即從第0位開始,取5位 echo 去掉最后一個字符后的字符串為:%str:~0,-1% rem 當"k"為負值時,我們可以這樣理解:從指針開始處開始取其后面所有字符,然后減去 后面"abs(k)位"..所以這個句字我們可以做如下解釋:從第0位開始取其全部字符 為:123456789然后從后面減去abs(k)位,所以最后結果為:12345678 echo 去掉最后3個字符后的字符串為:%str:~0,-3% rem 該句解釋同上↑ echo 最后一個字符為:%str:~-1% rem 參數"n,"和"k"都可以為缺省,缺省"n,"時可以理解為:從abs(k)位開始取其全部 echo 倒數第4個及其之后的字符為:%str:~-4% rem 解釋同上↑ echo 最后一個字符為:%str:~-1,1% rem n為負值時,表示從后面開始截取字符,取k位(此時n應從1開始數) echo 最后一個字符為:%str:~-1,2% rem 解釋同上↑ echo 倒數第4個字符為:%str:~-4,1% rem 解釋同上↑ echo 倒數第4個及其之后的1個字符為:%str:~-4,2% rem 解釋同上↑ echo 倒數第4個及其之后的2個字符為:%str:~-4,3% rem 解釋同上↑ pause