やりたいこと検索

文字列を自在に切り取る

 

目次

 

文字列を自在に切り取る

文字列を切り取るには、以下のようなコマンドを用います。

文字列を切り取るには、まず切り取りたい文字列を一度変数に代入する必要があります。変数への代入は「set」コマンドを使用します。詳しくは「set (変数の設定・計算・ユーザかたの入力情報の取得)」を参照して下さい。切り取りたい文字列を変数に入れたらその変数を上のコマンドの[文字列の入った変数]に入れましょう。

[数字1]には除きたい文字数を指定します。例えば4文字目から切り取りたかったら、「3」を入れて初めの3文字を除きます。次に[数字2]には切り取りたい文字数を入れます。例えば4文字分切り取りたいときは、「4」を入れます。

では、ここまでをバッチファイルにしてみましょう。ここでは、「123456789」という文字列を変数「string」に入れてみます。そして、この文字列の初め3文字を除いて4文字目から4文字分を切り取ります。バッチファイル「string_kiritori.bat」の内容を以下に示します。

以下、実行結果です。

 

次に、[数字1]の部分にマイナス(負)の値を入れたらどうでしょう。この場合は文字数を後ろから数えた位置から切り取りを行います。

例えば、[数字1]の部分に「-5」を入れて、「%string:~-5,4%」とすれば後ろから数えて5文字目から4文字分を切り取ります。以下、確認のバッチファイル「string_kiritori_minus.bat」です。

以下、実行結果です。

文字列「123456789」を後ろから数えて5文字目は「5」ですので、そこから4文字分が切り取られています。

 

[数字2]の部分を負にすることもできます。この場合は[数字2]で指定した文字数を後ろから除きます。

例えば、[数字2]に負の値「-2」を指定して、「%string:~3,-2%」とした場合は文字列「string」の初め3文字目を除いた文字列から後ろの2文字を除いた文字列を切り取ります。以下、バッチファイルの例「string_kiritori_minus2.bat」です。

以下、実行結果です。

[数字2]に負の値「-2」を設定したことで、後ろの「89」が除かれています。

これに、[数字1]も負にすれば、後ろから数えた文字列以降に対して、[数字2]で指定した後ろからの文字数を除いて切り取りできます。

例えば、「%string:~-3,-2%」などと指定すれば、後ろから3文字目以降を最後の2文字を除いて表示できます。以下は、確認のバッチファイル「string_kiritori_double_minus.bat」です。

以下実行結果です。

文字列「123456789」の後ろから3文字は「789」であり、これの最後2文字を除いて「7」となっています。

 

補足ですが、文字列「123456789」に対して、「%string:~7,5%」などと指定するとどうでしょう。前から7文字を除いた文字列は「89」ですが、切り取る文字数は5文字であり文字数が足りません。

このような場合は、文字があるところまでを表示するようです。つまり、「89」が表示されます。以下、確認のバッチファイル「string_kiritori_over.bat」です。

以下、実行結果です。

 

まとめバッチファイル

以下に、前節の文字列の切り取り方をまとめたバッチファイル「string_kiritori_summary.bat」を示します。

以下、実行結果です。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメントを残す