サイトアイコン スグブログ

【bat基礎】バッチで変数の文字列を結合するやり方

sweets

バッチファイル変数文字列結合するやり方をまとめます。

文字列を結合するやり方はスクリプトによって違います。バッチファイルではどのように文字列結合するのでしょうか?

batで文字列を結合するやり方を知りたい犬

文字列結合するのに+や&など使うのでしょうか?それとも他のやり方で結合するのでしょうか?

そういった疑問に現役エンジニアの筆者が、実例を用いて答えていきます。

windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。

バッチで変数の文字列を結合するやり方

バッチで変数の文字列を結合するやり方そのまま記入すれば良いだけです。

下のバッチファイルを見て下さい。

@echo off
set string1=文字列1
set string2=文字列2
echo %string1%%string2%直接入力
pause

変数「string1」と「string2」に「文字列1」と「文字列2」という文字列を代入しています。

変数の前後に「%」をつけて変数展開しています。

変数展開を並べて記入し、直接入力した文字列もそのまま記述してechoコマンドで表示しています。

pauseで一時停止して表示される文字列を確認します。

このバッチファイルを実行してみます。

文字列1文字列2直接入力

変数の中の文字列が結合されて表示されています。

ユーザーが入力した文字列を結合してみる

ではユーザーが入力した文字列と結合してみます。

下のバッチファイルを見て下さい。

@echo off
set /p string3="文字を入力してください:"
echo %string3%とあなたは入力しました。
pause

ユーザーが入力した文字列を変数に格納するには「set /p」を使用します。

入力した文字列が変数「string3」に代入されたので、その文字列とバッチに記述した文字列を結合しています。

ではこのバッチファイルを実行してみます。

文字を入力してください:

「文字を入力してください:」と文字列入力を促されるので、今回は「test」と入力してエンターをおします。

文字を入力してください:test
testとあなたは入力しました。

「testとあなたは入力しました。」と変数と文字列が結合して表示されました。

実行しているバッチファイル名と文字列を結合してみる

次は実行しているバッチファイル名と文字列を結合してみます。

下のバッチファイルを見てください。名前は「文字列結合.bat」です。

@echo off
echo %~nx0を実行しています。
pause

「%~nx0」でバッチファイル名を取得できます。その後に文字列を結合しています。

バッチではその他にも様々な情報を取得できるものがあり、下の記事でまとめています。

ではこのバッチファイルを実行してみます。

文字列結合.batを実行しています。

バッチファイル名のあとに記述した文字列が結合されています。

エラーレベルと文字列を結合してみる

では最後にERRORLEVELの変数と文字列を結合してみます。

ERRORLEVELはバッチにある変数で、直前のコマンドのステータスにより入る値が変わる変数です。

では下のバッチファイルを見て下さい。

@echo off
echo エラーレベルは%errorlevel%です。0であれば問題ありません
pause

変数展開の前後にも文字列を結合しています。

このバッチファイルを実行してみます。

エラーレベルは0です。0であれば問題ありません

前回のコマンドが成功しているのであれば0が代入されます。デフォルトでは0が代入されているので今回は0になっています。

変数の前後にも問題なく文字列が結合されています。

文字列を結合ではなく一部を切り出しする方法についての記事

batで文字列結合できるようになった犬

バッチで文字列結合する時は、何も気にせず文字列を結合していけば良いんですね!

まとめ:バッチで文字列を結合する様々なやり方

バッチで変数の文字列を結合するやり方そのまま記入すれば良いだけです。

ユーザーが入力した文字列と結合するバッチファイル

@echo off
set /p string3="文字を入力してください:"
echo %string3%とあなたは入力しました。
pause

実行しているバッチファイル名と文字列を結合するバッチファイル

@echo off
echo %~nx0を実行しています。
pause

「%~nx0」でバッチファイル名を取得できます。その後に文字列を結合しています。

ERRORLEVELの変数と文字列を結合するバッチファイル

@echo off
echo エラーレベルは%errorlevel%です。0であれば問題ありません
pause

前回のコマンドが成功しているのであれば0が代入されます。デフォルトでは0が代入されているので今回は0になっています。

モバイルバージョンを終了