字串處理
字串擷取、命令巢狀
命令格式:%變數名:~ m,n%,其中,m表示開始位置(預設開頭),n表示從m位置開始向後擷取的字元個數(預設到結尾),若n為負數則表示向前擷取個數,作用:將命令中的某段字元擷取,透過call將字元做為命令執行。
@echo off
set str1=aaa echo ok bbb
echo 初始字串:%str1% ::aaa echo ok bbb
echo 生成命令字串如下:
echo %str1:~4,7% ::echo ok
echo 執行命令字串生成最終結果為:
call %str1:~4,7% ::ok
pause
字串內字元替換
格式:set 變數名=%變數名:n=m%其中n表示原來字串,m表示用來替換的新字串;都不需要用引號包裹
set a="12344567"
echo %a% ::"12344567"
set a=%a:44=kmk%
echo %a% ::"123kmk567"
pause
字串合併
格式:set str1=%str1%%str2%
擷取字串傳入擷取長度
參考下面的setlocal
直接 echo %args:~%num%,-5% 沒辦法想要的字串,需要如下兩步
setlocal enabledelayedexpansion ::設定變數延時有效
echo !args:~%num%,-5! ::變數使用!!包括,%num%變數傳入
參考連結
https://blog.csdn.net/weixin_43794311/article/details/128275588