Windows:从批处理文件启动exe,并处理由exe启动的弹出对话框

Windows:从批处理文件启动exe,并处理由exe启动的弹出对话框,windows,powershell,batch-file,cmd,Windows,Powershell,Batch File,Cmd,我想在windows 7下自动安装组件。当我从批处理文件中调用setup.exe时,会打开一个对话框,询问我是否确实要安装该组件。因为我想自动化整个过程,所以我需要一种方法来自动回答“是”对话框,或者防止对话框以不取消设置的方式弹出 我该怎么做 根据您拥有的exe类型,其中一些可能与msiexec一起安装,一些可能不安装,另一个选项(不太稳定)是使用Wshell.SendKeys来回答对话框,$Wshell=New Object-ComObject wscript.shell$SendKeys(

我想在windows 7下自动安装组件。当我从批处理文件中调用setup.exe时,会打开一个对话框,询问我是否确实要安装该组件。因为我想自动化整个过程,所以我需要一种方法来自动回答“是”对话框,或者防止对话框以不取消设置的方式弹出


我该怎么做

根据您拥有的exe类型,其中一些可能与msiexec一起安装,一些可能不安装,另一个选项(不太稳定)是使用Wshell.SendKeys来回答对话框,
$Wshell=New Object-ComObject wscript.shell$SendKeys({ENTER}')
您的$wshell.SendKeys方法似乎指向了正确的方向,谢谢。然而,我从来没有听说过。您能给我一个简短的windows cmd示例吗?假设我的进程名为“setup.exe”,并打开一个对话框,其中提供了“安装”或“修复”选项,我必须从中进行选择。这不能在纯批处理文件中完成。您需要使用vbscript、jscript或powershell。很多人使用AutoHotkey或AutoIt之类的程序。您不会说您正在安装什么类型的“组件”,但如果此对话框是因为您正在安装未签名的驱动程序,则此对话框不会被忽略。除此之外,您应该询问正在安装的组件的作者/供应商,以了解如何以静默方式安装它。这不是一个真正的编程问题。根据您拥有的exe类型,其中一些可能与MSIEXC一起安装,另一些可能不是,另一个选项(不太稳定)是使用Wshell.SendKeys来回答对话框,
$Wshell=New Object-ComObject wscript.shell$SendKeys({ENTER}')
您的$wshell.SendKeys方法似乎指向了正确的方向,谢谢。然而,我从来没有听说过。您能给我一个简短的windows cmd示例吗?假设我的进程名为“setup.exe”,并打开一个对话框,其中提供了“安装”或“修复”选项,我必须从中进行选择。这不能在纯批处理文件中完成。您需要使用vbscript、jscript或powershell。很多人使用AutoHotkey或AutoIt之类的程序。您不会说您正在安装什么类型的“组件”,但如果此对话框是因为您正在安装未签名的驱动程序,则此对话框不会被忽略。除此之外,您应该询问正在安装的组件的作者/供应商,以了解如何以静默方式安装它。这不是一个真正的编程问题。