文字列操作【バッチファイル】

※この記事は「2021年4月24日」に更新しました。

今回は、バッチファイルの文字列操作について。

SE、Web制作、販売を経験した管理人が解説します。

文字列操作のバッチファイルを作成するために

それでは、文字列操作のバッチファイルを作成するために必要なことを説明していきます。

変数に文字列を代入する

バッチファイルを想定しているので、まずは、変数(環境変数)に文字列を代入する方法を紹介します。

set 環境変数名=値(文字列)

ちなみに、以下のようにすると、設定した環境変数を削除することができます。

set 環境変数名=

環境変数は、例えば、新しいソフトをインストールしても、追加で定義されたりすることもあります。



部分文字列の取得

部分文字列の取得について。

まずは、先頭から数えて文字列を取得するバッチファイルを紹介します。

set V=ABCDEFGHI
echo %V:~2,3%
@pause > nul

今回は、処理の流れを見るために、最後のコマンド以外は表示させています。

バッチファイルの実行結果は、以下の通りです。

文字列操作のバッチファイル

先頭から数えて、3文字目から3文字分を抽出して表示させます。

3文字目となっているのは、先頭の文字を 0番目としているからです。

次に、末尾から数えて、文字列を取得するバッチファイルを紹介します。

set V=ABCDEFGHI
echo %V:~-2,3%
@pause > nul

こちらも処理の流れを見るために最後のコマンド以外は表示させています。

バッチファイルの実行結果は以下の通りです。

文字列操作のバッチファイル

末尾から数えて、2文字目から3文字分を抽出して表示させます。

date から取得した文字列を整形するバッチファイル

今まで学習した内容をまとめて、date から取得した文字列を整形するバッチファイルを紹介します。

echo %date%

set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

set cdate=%year%%month%%day%

echo %cdate%

@pause > nul

こちらも処理の流れを見るために、最後のコマンド以外は表示させています。

実行結果は、以下の通りです。

文字列操作のバッチファイル

これは、日付の必要な部分だけ取得するために作成したものです。

この形式にすれば、例えば、ファイル名に付けることもできます。

最後に

いかがでしょうか。

今回は、バッチファイルの文字列操作について紹介しました。

コマンドプロンプトが、MS-DOS 時代のコンソールがベースなので、どうしても古臭さは否めません。

ただ、今でも意外と使えるので、興味のある方は遊んでみて下さい。