**バッチ ファイル **コマンド ライン パラメーターを受け取り、パラメーターが一致した場合に何らかの処理を行うバッチ ファイルを作成しています。ただし、新しいパラメーターを使用してバッチ ファイルを再度実行すると、ファイルは引き続き古いパラメーターで実行されます。
最初の実行: file.bat -name hello -w 400 -r 320
2 回目の実行: file.bat -name hello -w 400。
ファイルの 2 回目の実行を行うと、最初の実行が実行されます。つまり、最初の実行のパラメーターが引き続き考慮されます。なぜこれが事実なのか誰か知っていますか?
前もって感謝します。
バッチファイルのコードを掲載していないことをお詫び申し上げます。以下はコードです。
set filename=
set rate=
set hidden=
set rate=
:recheck
if "%1"=="-help" goto :help
if "%1"=="-name" goto :filename
if "%1"=="-h" goto :hidden
if "%1"=="-w" goto :weight
if "%1"=="-r" goto :rate
if "%~1"=="" goto :endofcommandline
:filename
shift
set filename =%1
shift
goto :recheck
ファイルの他の部分については、変数「filename」を使用して他のことを行います。また、ファイルの先頭と末尾で setlocal と endlocal を使用します。各ifステートメントに対応する他のラベルがあり、ユーザーから渡された値がある場合は、異なる変数を値に設定します。変数の値を出力しようとすると、エコーがオフになることもあります。上記のように、使用するすべての変数はファイルの先頭でクリアされます。