A solução mais fácil é incorporar a resposta no script assim:
echo Y | CertUtil.exe ....
Este método nem sempre funciona para todos os programas, por isso ainda precisa de alguns testes do seu lado.
Para caixas de mensagem, você pode usar nircmd com o parâmetro dlg
.
Em um script, você também pode usar o comando interno timeout /t seconds
para fornecer à caixa de mensagens o número especificado de segundos para exibição.
Aqui está uma extração do arquivo de ajuda:
nircmd.exe dlg [Process Name] [Window Title] [Action] [Parameters]
Allows you to interact with standard dialog-boxes and message-boxes of Windows. When a dialog-box is opened, you can use this command to "click" the ok/cancel/yes/no buttons, or fill the text-boxes in the dialog-box.
The following command will choose the 'Yes' answer for any question dialog-box of Explorer process:
dlg "explorer.exe" "" click yes
The following command will choose the 'Cancel' answer for any question dialog-box of any process:
dlg "" "" click cancel
Parameters description:
[Process Name]: Specifies the process that created the desired window. You can specify only the process name or the full path of the process. If this parameter is empty string("" ), the command will be executed on any process.
[Window Title]: Specifies the title of the window that you want the execute the action. If this parameter is empty string("" ), the command will be executed on any window, regardless the window title.
[Action]: You can specify one of the following options:
click: Click the specified button. You can specify one of the following predefined values (For standard Windows dialog-boxes only !): yes, no, ok, cancel, retry, ignore, close, help. You can also specify any control ID as numeric value.
settext: Set the text of the specified control. The first parameter of this action specifies the ID of the control, and the second parameter specifies the text.