本記事では、バッチファイルの環境変数に格納された文字列の分割、結合、切り出し方法のサンプルを紹介します。(特にfor文はbat特有の癖があり自分自身も覚えきれずメモ書きとして残します)
文字列の分割(Split的な動作)
環境変数の文字列を分割するためには、forコマンドを使用します。このサンプルは、変数PATHVAR内の各パスをセミコロンで分割し、それぞれを新しい行に表示します。
@echo off
rem 変数に値をセット
set "PATHVAR=C:\Folder;D:\AnotherFolder"
rem セミコロンで区切られた各パスを処理 ★
for %%A in ("%PATHVAR:;=" "%") do (
echo %%~A
)
実行結果
C:\Folder
D:\AnotherFolder
文字列の結合
文字列を連結するには、変数をつなげて代入します。
@echo off
rem 変数に値をセット
set "PATHVAR=C:\Folder;D:\AnotherFolder"
rem 追加するパス
set "NEWPATH=E:\NewFolder"
rem 既存のPATHに新しいパスを追加 ★
set "PATHVAR=%PATHVAR%;%NEWPATH%"
echo %PATHVAR%
実行結果
C:\Folder;D:\AnotherFolder;E:\NewFolder
文字列の切り出し(Substring的な動作)
環境変数%STR%から、4文字目(0始まりで3)から5文字分の部分文字列を切り出す例です。
@echo off
rem 例としての文字列を設定
set "STR=ABCDEFGHIJ"
rem 4文字目から5文字分を切り出し ★
set "SUBSTR=%STR:~3,5%"
echo %SUBSTR%
実行結果
DEFGH
まとめ
本記事では、バッチファイルにおける文字列の分割、結合、切り出し処理について紹介しました。