Como inserir automaticamente no arquivo BATch no DOS?

4

Eu quero executar um comando que solicite um argumento, posso fazer um arquivo BATch que execute este comando e depois esperar por um segundo e "escrever" ou "digitar" automaticamente (como uma pessoa viva) o argumento? Obrigado.

    
por Leandro Tupone 05.01.2012 / 19:45

2 respostas

8

Se o comando ler de stdin:

echo some text| command

(echo some text& echo line two) | command

Se o comando ler o console especificamente - você não pode.

    
por 05.01.2012 / 20:48
2

O comando CHOICE lhe dá a capacidade de definir uma opção padrão após um tempo limite especificado:

CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

Description:
    This tool allows users to select one item from a list
    of choices and returns the index of the selected choice.

Parameter List:
   /C    choices       Specifies the list of choices to be created.
                       Default list is "YN".

   /N                  Hides the list of choices in the prompt.
                       The message before the prompt is displayed
                       and the choices are still enabled.

   /CS                 Enables case-sensitive choices to be selected.
                       By default, the utility is case-insensitive.

   /T    timeout       The number of seconds to pause before a default
                       choice is made. Acceptable values are from 0 to
                       9999. If 0 is specified, there will be no pause
                       and the default choice is selected.

   /D    choice        Specifies the default choice after nnnn seconds.
                       Character must be in the set of choices specified
                       by /C option and must also specify nnnn with /T.

   /M    text          Specifies the message to be displayed before
                       the prompt. If not specified, the utility
                       displays only a prompt.

   /?                  Displays this help message.

   NOTE:
   The ERRORLEVEL environment variable is set to the index of the
   key that was selected from the set of choices. The first choice
   listed returns a value of 1, the second a value of 2, and so on.
   If the user presses a key that is not a valid choice, the tool
   sounds a warning beep. If tool detects an error condition,
   it returns an ERRORLEVEL value of 255. If the user presses
   CTRL+BREAK or CTRL+C, the tool returns an ERRORLEVEL value
   of 0. When you use ERRORLEVEL parameters in a batch program, list
   them in decreasing order.

Examples:
   CHOICE /?
   CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
   CHOICE /T 10 /C ync /CS /D y
   CHOICE /C ab /M "Select a for option 1 and b for option 2."
   CHOICE /C ab /N /M "Select a for option 1 and b for option 2."

Então, nesse caso, você poderia digitar algo como CHOICE /T 10 /C ync /D y /M "Do you wish to proceed [yes]?" e, após 10 segundos, ele simplesmente escolheria Sim para você.

    
por 05.01.2012 / 20:40