[解決済み] Windows Bat ファイルのオプション引数の解析
2023-04-08 14:32:23
質問
bat ファイルに、複数のオプションの名前付き引数を指定したい。
mycmd.bat man1 man2 -username alice -otheroption
例えば、私のコマンドは2つの必須パラメータと、引数値がaliceである2つのオプションパラメータ(-username)、および-otheroptionを持っています。
これらの値を変数に取り込むことができればと思います。
すでにこれを解決した人に呼びかけを行うだけです。 これらの bat ファイルは苦痛です。
どのように解決するのですか?
には賛成しがちですが AlekDavis のコメント に同意しがちですが、それでも NT シェルでこれを行ういくつかの方法があります。
私が利用するアプローチは SHIFT コマンドと IF 条件分岐、こんな感じです...。
@ECHO OFF
SET man1=%1
SET man2=%2
SHIFT & SHIFT
:loop
IF NOT "%1"=="" (
IF "%1"=="-username" (
SET user=%2
SHIFT
)
IF "%1"=="-otheroption" (
SET other=%2
SHIFT
)
SHIFT
GOTO :loop
)
ECHO Man1 = %man1%
ECHO Man2 = %man2%
ECHO Username = %user%
ECHO Other option = %other%
REM ...do stuff here...
:theend
関連
-
[解決済み] 線路が別々でないと無効なスイッチ
-
[解決済み] バッチファイルに引数を渡すにはどうしたらいいですか?
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] Windowsのバッチファイルから長いコマンドを複数行に分割する
-
[解決済み] 1つの.BATファイル内で複数の.BATファイルを実行する方法
-
[解決済み] バッチファイル内で改行をエコーする方法を教えてください。
-
[解決済み] Windowsのシャットダウン、再起動、ログオフをbatファイルで行うには?
-
[解決済み】Windowsのバッチファイル:.batと.cmdの違いは?
-
[解決済み】Windowsのバッチファイルにおける%~d0の意味とは?
-
[解決済み] バッチファイル内の変数から二重引用符を削除するとCMD環境に問題が発生する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] バッチファイル実行時に「ERROR: The system was unable to find specified registry key or value.」と表示される場合の対処方法
-
[解決済み] バッチ中の "カウンター"
-
[解決済み] .BATファイルを完了後に自己削除する方法を教えてください。
-
[解決済み] 非常に基本的なバッチ式自己複製コード:どのくらい危険か?
-
[解決済み] バッチファイルにおけるカレントディレクトリとは何ですか?
-
[解決済み] cURLの出力をファイルに取り込むには?
-
[解決済み] MS-DOS バッチファイル Enterキーで一時停止
-
[解決済み] タスクスケジューラで実行中のスクリプトの出力をキャプチャするにはどうすればよいですか?
-
[解決済み] 複数のDOSコマンドを並列に実行するには?
-
[解決済み] テキストファイルから1行目を読み込むWindowsバッチコマンド