2

私は、Windows バッチ スクリプトをまったく使用していません。以下のようにコマンドライン パラメータを取得するバッチ スクリプトを書きたいと思います。

myscript -parameter1 param1 -parameter2 param2

スクリプト内で parameter1 を param1 に、parameter2 を param2 に設定する必要があります。上記を行うコードブロックを持っている人はいますか?

ありがとう

4

1 に答える 1

4

ループを使用して引数を調べ、次のようなことを試すことができます。

:argloop
  set "arg=%~1"
  if "%arg:~0,1%"=="-" (
    set "%arg:~1%=%~2"
    shift
  )
  shift
if not "%1"=="" goto argloop

echo parameter 1: %parameter1%
echo parameter 2: %parameter2%

これにより、引数が1つずつ確認され、引数がa-で始まる場合は、次の引数を値として持つ同じ名前の環境変数が設定されます。

H:\>args.cmd -parameter1 param1 -parameter2 param2
parameter 1: param1
parameter 2: param2

後で元の引数が必要になった場合は、ループの上をサブルーチンに移動し%*、引数として使用して呼び出す必要があります。

于 2012-08-16T10:28:23.327 に答える