Windows10でバッチファイルの実行時に引数を渡す方法!

Windows10でバッチファイルの実行時に引数を渡す方法!

Windows10で、バッチファイルを実行する時に引数を渡す方法をご存知でしょうか?引数の渡し方を知っておくと、便利に値の取り扱いを行うことができますよ。この記事では、Windows10でバッチファイルの実行時に引数を渡す方法をご紹介しています。


目次[非表示]

  1. Windows10でバッチファイルの実行時に引数を渡したい
  2. Windows10でバッチファイルの実行時に引数を渡す方法

Windows10でバッチファイルの実行時に引数を渡したい

コマンドプロンプト
Windows10で、バッチファイルの実行時に引数を渡したいと思ったことはありませんか?バッチファイルでは、引数を指定してバッチファイルに引き渡せます。また、引数はバッチファイルの中において取り出して利用することもできますよ。

この記事では、Windows10でバッチファイルの実行時に引数を渡す方法をご紹介していきます。

Windows10でバッチファイルの実行時に引数を渡す方法

引数の指定・バッチファイル内で引数を参照する方法

それでは、引数の指定やバッチファイル内で引数を参照する方法を説明します。バッチファイルの実行時にコマンドライン引数を指定するためには、「バッチファイル 引数1 引数2 引数3」のように入力します。複数の引数を指定する場合は、半角スペースを挿入することで区切ることができます。コマンドライン引数で渡した値は、「%1」~「%9」という記述を用いることで取り出して使用することができます。テスト用に、バッチファイルを作成してみましょう。この例では、「test.bat」というバッチファイルを作成しています。作り方は下記の通りです。

@echo off
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%3 = %3

この状態で、下記のようにバッチファイルを実行してみてください。

test.bat 日本 男子 10
バッチファイルの引数の値
バッチファイルを実行することで、バッチファイルの名前と指定した3つの引数の値(パラメータ)を参照して、結果に表示しています。これで、バッチファイルを実行する時にバッチファイルの中で引数の値を参照・用いることができますよ。

引数を区切ることのできる文字

バッチファイルで複数の引数を指定する場合は半角スペースだけではなく、「;(セミコロン)」・「,(カンマ)」・「等号(=)」を使用することができます。先程の例は半角スペースで区切っていましたが、これらの文字で区切ると下記の通りになります。区切りを可視化したいのであれば、半角スペースではなくこれらの文字を使用して区切ってみましょう。

test.bat 日本;男子;10
test.bat 日本,男子,10
test.bat 日本=男子=10

区切る文字を引数で文字として使用したい場合

半角スペースと「;(セミコロン)」・「,(カンマ)」・「等号(=)」の4つを引数として指定する値の中で使用している場合、そのまま入力すると区切られてしまいます。そこで、区切り文字を値の中で使用している場合は「"(ダブルクォーテーション)」で囲みましょう。下記の例では「日本 東京都」と「1,120」を""で囲んでいるため、引数として渡すことができています。

test.bat "日本 東京都" 男子 "1,120"

ダブルクォーテーションを取り除きたい場合

上記の方法で区切り文字が付いていても"(ダブルクォーテーション)を使用して値にできることを説明しましたが、「"値"」のように表示されてしまいます。このダブルクォーテーションを取り除くには、「%1」の代用として「%~1」を用います。バッチファイル内の記述を下記の通りにしてから上記のコマンドを試すと、ダブルクォーテーションが取り除かれて結果が表示されますよ。

@echo off
echo %%0 = %0
echo %%1 = %1
echo %%~1 = %~1
echo %%2 = %2
echo %%~2 = %~2
echo %%3 = %3
echo %%~3 = %~3

すべての引数の値を参照する

すべての引数の値を参照するには「%*」を使用します。上記のバッチファイルに「echo %%* = %*」を付け加えて実行することで値の出力時にそれぞれの値が出力されるほか、最後の行にすべての引数をまとめた値が参照されます。


関連記事