'a'、 'b'または 'c'を入力するようなプログラムがあります。プログラムを手動で実行すると、プロンプトが表示されたら選択肢を入力できます。バッチファイルでプログラムを実行するときにプロンプトを処理するにはどうすればよいですか?バッチスクリプトでプロンプトのデフォルト値を渡す方法
プログラムはパラメータを受け取りません。
'a'、 'b'または 'c'を入力するようなプログラムがあります。プログラムを手動で実行すると、プロンプトが表示されたら選択肢を入力できます。バッチファイルでプログラムを実行するときにプロンプトを処理するにはどうすればよいですか?バッチスクリプトでプロンプトのデフォルト値を渡す方法
プログラムはパラメータを受け取りません。
あなたのプログラムがSTDINからの入力を読み込むことを考えると、あなたはinput redirectionを使用することができます。出力をパイプ
あなたprogram.exe
にecho
コマンドの(STDOUTで):2つのオプションがあります
echo a| program.exe
することはできecho
のも、パイプ複数行:
(
echo a
echo b
echo c
) | program.exe
プロンプトテキストを含むファイル、たとえばprompts.txt
を作成します。ライン:
a b c
は、そのファイルリダイレクト:プログラムは標準入力から読み込む場合
< prompts.txt program.exe
変数値をデフォルト値に初期設定してから、ユーザーに値を問い合わせてください。このようにして、ユーザーが値を入力しなくても、デフォルト値が保存されます。
SET myvar = a(aがデフォルト値であると推測する)は、このトリックを行います。
OPは、バッチスクリプト( 'set/P')内の変数の設定を要求しません。 [@ Bill-Stewartのコメント](http://stackoverflow.com/questions/42729312/how-to-pass-default-values-for-prompts-in-dos-batch#comment72578218_42729312)を参照してください。 – JosefZ
を、あなたは 'エコーAを書き込むことができます| whatever.exe'。 –
使用しているDOSのバージョンは何ですか? – Squashman
@Squashman、windows 2012 r2 –