2017-03-10 5 views
0

'a'、 'b'または 'c'を入力するようなプログラムがあります。プログラムを手動で実行すると、プロンプトが表示されたら選択肢を入力できます。バッチファイルでプログラムを実行するときにプロンプ​​トを処理するにはどうすればよいですか?バッチスクリプトでプロンプトのデフォルト値を渡す方法

プログラムはパラメータを受け取りません。

+4

を、あなたは 'エコーAを書き込むことができます| whatever.exe'。 –

+0

使用しているDOSのバージョンは何ですか? – Squashman

+0

@Squashman、windows 2012 r2 –

答えて

0

あなたのプログラムがSTDINからの入力を読み込むことを考えると、あなたはinput redirectionを使用することができます。出力をパイプ

  1. あなたprogram.exeechoコマンドの(STDOUTで):2つのオプションがあります

    echo a| program.exe 
    

    することはできechoのも、パイプ複数行:

    (
        echo a 
        echo b 
        echo c 
    ) | program.exe 
    
  2. プロンプトテキストを含むファイル、たとえばprompts.txtを作成します。ライン:

    a 
    b 
    c 
    

    は、そのファイルリダイレクト:プログラムは標準入力から読み込む場合

    < prompts.txt program.exe 
    
0

変数値をデフォルト値に初期設定してから、ユーザーに値を問い合わせてください。このようにして、ユーザーが値を入力しなくても、デフォルト値が保存されます。

SET myvar = a(aがデフォルト値であると推測する)は、このトリックを行います。

+2

OPは、バッチスクリプト( 'set/P')内の変数の設定を要求しません。 [@ Bill-Stewartのコメント](http://stackoverflow.com/questions/42729312/how-to-pass-default-values-for-prompts-in-dos-batch#comment72578218_42729312)を参照してください。 – JosefZ

関連する問題