如果满足外部条件,则停止可执行文件 运行 如果 vbs 循环
Stopping an executable running if vbs loop if outside criteria is met
我正在使用 VBScript 写入配置文件 config.txt,然后 运行 可执行文件 SomeName.exe用我设置的配置。
可执行文件不是我的,我无法与之交互。
结果写在另一个文本文件中 Result.txt.
最后是这样的
Set objShell = CreateObject("WScript.Shell")
For MyParameter = mystart to myend
'here I overwrite conf.txt with MyParameter value
Rt = objShell.run(SomeName.exe, 1, True) '--> True means "wait until the end before processing"
Next
我想做的是检查 result.txt 文件,如果没问题,停止 .exe 并使用 MyParameter 的下一个值恢复循环。
我已经知道如何使用第二个脚本读取文件并确定结果是否足够好(基本上我读取最后一行并将其与其他内容进行比较,非常简单的东西)。
我不知道如何让这两个脚本协同工作。
目前我唯一的方法是手动 运行 我的第二个脚本,并让它不时检查(使用 Sleep
函数)结果是否良好。在那种情况下,我使用 taskill /im "SomeName.exe"
。但它非常丑陋,我必须用无限循环 运行 它,因为我不知道 SomeName.exe 需要多长时间才能达到结果(这是一个模拟,它可能非常非常长!).
你知道怎么做吗?
非常感谢您能给我的任何帮助,
为什么使用WaitOnReturn=True
?
将其更改为 False,然后添加您的脚本代码循环,在它之后立即检查最后一行。
我正在使用 VBScript 写入配置文件 config.txt,然后 运行 可执行文件 SomeName.exe用我设置的配置。 可执行文件不是我的,我无法与之交互。 结果写在另一个文本文件中 Result.txt.
最后是这样的
Set objShell = CreateObject("WScript.Shell")
For MyParameter = mystart to myend
'here I overwrite conf.txt with MyParameter value
Rt = objShell.run(SomeName.exe, 1, True) '--> True means "wait until the end before processing"
Next
我想做的是检查 result.txt 文件,如果没问题,停止 .exe 并使用 MyParameter 的下一个值恢复循环。
我已经知道如何使用第二个脚本读取文件并确定结果是否足够好(基本上我读取最后一行并将其与其他内容进行比较,非常简单的东西)。
我不知道如何让这两个脚本协同工作。
目前我唯一的方法是手动 运行 我的第二个脚本,并让它不时检查(使用 Sleep
函数)结果是否良好。在那种情况下,我使用 taskill /im "SomeName.exe"
。但它非常丑陋,我必须用无限循环 运行 它,因为我不知道 SomeName.exe 需要多长时间才能达到结果(这是一个模拟,它可能非常非常长!).
你知道怎么做吗?
非常感谢您能给我的任何帮助,
为什么使用WaitOnReturn=True
?
将其更改为 False,然后添加您的脚本代码循环,在它之后立即检查最后一行。