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

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

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

部分的に文字列を取得することができれば、バッチファイルでできることも広がります。

タカフミ
記事を書いている管理人の経歴は、以下の通りです。
  • 基本情報技術者資格所有者(ソフト開発の国家資格)
  • WordPress歴、10年以上
  • パソコン販売歴、約5年

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

タカフミ
文字列操作のバッチファイルを作成するために必要なことを解説します。

変数に文字列を代入する

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

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 時代のコンソールがベースです。
タカフミ
どうしても古臭さは否めません。

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