是否可以从 powershell 脚本对 vbscript msgbox 做出反应?
Is it possible to react to vbscript msgbox from powershell script?
我一直在努力使手动过程更像是一个单击过程,并且我 运行 遇到了来自 vbs 脚本的这些 msgbox 弹出窗口的问题。
本质上我正在使用 powershell 并做类似的事情:
foreach ($loc in $locs):
& cscript $loc
其中 $locs 中的 $loc 是一个变量,其中包含需要 运行 的 .vbs 文件的路径。
问题是我们的一位开发人员在每个 .vbs 文件中包含了两个 msgbox 语句,这些语句会弹出并要求您单击“确定”。编辑 vbs 脚本并删除它们是微不足道的,但我不想更改我们开发人员的脚本 - 所以问题是:是否有可能使 powershell 对从 cscript 行生成的 msgbox 做出反应?我不确定如何将盒子置于上下文中或通过 powershell 对其做出反应。
运行 批处理模式的脚本,这将防止任何提示停止执行:
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)
...
我一直在努力使手动过程更像是一个单击过程,并且我 运行 遇到了来自 vbs 脚本的这些 msgbox 弹出窗口的问题。 本质上我正在使用 powershell 并做类似的事情:
foreach ($loc in $locs):
& cscript $loc
其中 $locs 中的 $loc 是一个变量,其中包含需要 运行 的 .vbs 文件的路径。
问题是我们的一位开发人员在每个 .vbs 文件中包含了两个 msgbox 语句,这些语句会弹出并要求您单击“确定”。编辑 vbs 脚本并删除它们是微不足道的,但我不想更改我们开发人员的脚本 - 所以问题是:是否有可能使 powershell 对从 cscript 行生成的 msgbox 做出反应?我不确定如何将盒子置于上下文中或通过 powershell 对其做出反应。
运行 批处理模式的脚本,这将防止任何提示停止执行:
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)
...