文字列(String)
長さ(length)
DESC
関数などで調べる方法はない
部分文字を抽出して調べる
set x=12345678
set y=%x:~8%
if defined y echo 9文字以上
set x=12345678
set y=%x:~8%
if defined y echo 9文字以上
set z=%x:~7%
if defined z echo 8文字以上
if defined z if not defined y echo 8文字
置換(replace)
set V=aaa
echo %V:a=b%
echo %V:aaa=abc%
コマンドがないため for で対応をする
set src=d:\foo\bar
echo %src%
em 置換する文字
set search=\
set replace=/
set dst=
set tmp=
:loop
if "%src%" == "" goto :end
for /f "tokens=1* delims=%search%" %%A in ("%src%") do (
set dst=%dst%%tmp%%%A
set src=%%B
set tmp=%replace%
)
goto :loop
:end
echo %dst%
抽出
SYNTAX
%var:~OFFSET,LENGTH%
set var=aiueo
echo %var:~0,2%
set var=foo.txt
echo %var:~-4%
set var=foo.txt
echo %var:~0,-4%
set var=aiueo
echo %var:~2%
set pathbody=%1:~0,-4%
tmp=%1
set ret=%tmp:~0,-4%
結合(concat)
結合は 展開の結果をそのまま使う
set a=kato
set b=taka
echo %a%%b%