@ECHO OFF
SET STR1="STR1"
SET STR2="STR2STR2"
SET STR3="STR3STR3STR3"
SET STR4="STR4STR4STR4STR4"
::指派字元串
SET STR=%STR1%
ECHO %STR%
::拼接
SET STR=%STR%%STR%
ECHO %STR%
::替換
ECHO 原始:%STR4%
SET STR4=%STR4:STR=字元串%
ECHO 替換:%STR4%
::字元串截取
::%STR:~BEGIN,LEN% 從0開始,負則表示倒數
::可省略長度,表示BEGIN到STR結束
SET STR=%STR1:~0%
ECHO %STR%
SET STR=%STR2:~4%
ECHO %STR%
SET STR=%STR3:~0,4%
ECHO %STR%
SET STR=%STR4:~-4,4%
ECHO %STR%
::字元串長度
ECHO.
SET STR=%STR4%
CALL :LENSTR %STR%
ECHO %STR%長度為:%NUM%
::PAUSE && GOTO :EOF
::查找字元
ECHO.
SET STR=%STR1%
CALL :FINDCHAR %STR% S
PAUSE && GOTO :EOF
::字元串長度
:LENSTR
SET NUM=0
SET BUF=%1
:NEXTLENSTR
IF DEFINED BUF (
SET /A NUM+=1
SET BUF=%BUF:~1%
GOTO :NEXTLENSTR
)
GOTO :EOF
::查找字元
:FINDCHAR
SETLOCAL ENABLEDELAYEDEXPANSION
SET NUM=0
SET BUF=%1
SET CH=%2
ECHO FIND %CH% IN %BUF%
:NEXTFINDCHAR
IF DEFINED BUF (
SET /A NUM+=1
SET C=%BUF:~0,1%
IF !C!==%CH% ( GOTO :FIND )
SET BUF=%BUF:~1%
GOTO :NEXTFINDCHAR
)
SET NUM=0
:FIND
ECHO 位置:%NUM%
ENDLOCAL
GOTO :EOF