我一直在努力使手动过程更像是一次点击过程,而且我遇到了来自vbs脚本的这些msgbox弹出窗口的问题。 基本上我使用的是powershell并做了类似的事情:
foreach ($loc in $locs):
& cscript $loc
$ locs中的$ loc是一个变量,其中包含需要运行的.vbs文件的路径。
问题是我们的一个开发人员在每个.vbs文件中包含两个msgbox语句,弹出这些语句并要求您单击确定。编辑vbs脚本并删除它们是微不足道的,但我不想改变我们的开发人员的脚本 - 所以问题是:是否有可能使PowerShell对从cscript行生成的msgbox做出反应?我不确定如何将盒子放到上下文中或通过PowerShell对它做出反应。
答案 0 :(得分:5)
以批处理模式运行脚本,这将阻止任何提示停止执行:
foreach ($loc in $locs){
& cscript //B $loc
}
来自cscript /?
用法消息:
Usage: CScript scriptname.extension [option...] [arguments...]
Options:
//B Batch mode: Suppresses script errors and prompts from displaying
//D Enable Active Debugging
//E:engine Use engine for executing script
//H:CScript Changes the default script host to CScript.exe
//H:WScript Changes the default script host to WScript.exe (default)
//I Interactive mode (default, opposite of //B)
...