是否有可能从powershell脚本对vbscript msgbox做出反应?

时间:2017-01-22 18:12:20

标签: powershell vbscript msgbox wsh

我一直在努力使手动过程更像是一次点击过程,而且我遇到了来自vbs脚本的这些msgbox弹出窗口的问题。 基本上我使用的是powershell并做了类似的事情:

foreach ($loc in $locs):
    & cscript $loc

$ locs中的$ loc是一个变量,其中包含需要运行的.vbs文件的路径。

问题是我们的一个开发人员在每个.vbs文件中包含两个msgbox语句,弹出这些语句并要求您单击确定。编辑vbs脚本并删除它们是微不足道的,但我不想改变我们的开发人员的脚本 - 所以问题是:是否有可能使PowerShell对从cscript行生成的msgbox做出反应?我不确定如何将盒子放到上下文中或通过PowerShell对它做出反应。

1 个答案:

答案 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)
...