Windows CMDには、バッチファイル内で呼び出される別のプログラムにパラメーターとファイル名を渡す必要があるバッチプログラムを実行するための次のコマンドラインがあります。
mysample.bat -parm1=7 -parm2="abc" -parm3 myfile
私の目標は、コマンドラインを解析し、2つの変数%options%
とを使用すること%filename%
です。ここに%options%
は、コマンドラインで入力されたパラメータが含まれ、ここ%filename%
にはファイル名が含まれます。
二つの変数は、(上記の私のサンプルコマンドラインから)、以下が含まれている必要があります:%options%
含むように-parm1=7 -parm2="abc" -parm3 %filename%
してfilename
格納しますmyfile
for
ループのバリエーションを試しましたが、役に立ちませんでした。ここや他の場所で例を探しましたが、必要なものを生み出すものは何も見つかりませんでした。
誰かがバッチプログラムでこれを行うための明確で堅牢な方法を提供できますか?前もって感謝します。
ありがとう
コメントの後、各引数をループしてすべてをオプションに設定する必要があると思います。そのため、を使用し%*
てすべての引数をキャプチャします。
for %%i in (%*) do echo %%~i
要件として、毎回最後の引数としてファイル名を使用する場合は、次のオプションがあります。
@echo off
setlocal enabledelayedexpansion
(for %%i in (%*) do set "filename=%%~i")>nul
set "options=%*"
set "options=!options:%filename%=!"
echo %options% %filename%
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加