第一次在 Firefox 中 运行 iMacros 时批处理文件中的暂停不起作用

PAUSE in Batch File not working when running iMacros in Firefox for first time

好的,所以我很困惑应该如何正确地命名我的问题,所以我会尽力在这里解释一下。

我正在尝试 运行 iMacros 和一些 python 脚本,将它们拼接在一个批处理文件中。这是我想要的虚拟代码:

    "C:\Program Files\Mozilla Firefox\firefox.exe" imacros://run/?m="#Current.iim"
    PAUSE
    @py %~dp0\SomePythonProgram.py %*
    PAUSE

添加 PAUSE 的原因是 iMacro 自动化需要一段时间(大约 8 分钟)并且它会截取某些选项卡的屏幕截图。随后的 python 程序将调整这些图像的大小,因此一旦 iMacros 停止 运行ning,用户必须返回到 cmd(如果他们去了其他地方)并在 [=24] 之前按任意键=] 程序被执行。

以上代码在 Firefox 已经打开或 运行 在任务管理器中看到的背景中实际工作。现在,当我在 运行 批处理文件之前在任务管理器中将其杀死时,而不是通常的 "Press any key..." cmd 卡在了这一部分:

有没有办法继续执行其余代码(可能通过按键/热键)?或者我需要用其他东西代替 PAUSE 吗?我试过 TRYOUT,它似乎遇到了同样的问题。我正在使用 Windows 10,所以 SLEEP 不是内置的。这会帮助我实现我想要的吗?

我建议使用 timeout 并在第一个命令后使用 && 将命令拆分在一行中。

&& 的原因是如果上一个命令成功完成,脚本只会继续下一个项目。其中 timeout /t 600 将等待 10 分钟,然后再继续执行下一个命令。

start "" /w /b "C:\Program Files\Mozilla Firefox\firefox.exe" imacros://run/?m="#Test_Macro.iim" && timeout /t 600 & @py %~dp0\SomePythonProgram.py %* & timeout /t 600

如果你想继续脚本,不管 firefox 是否启动成功,你可以只使用一个 &.

要了解有关 cmd 命令中可用开关的更多信息,您只需打开 cmd.exe window 并键入 help

这将为您带来一长串可用的命令,要了解每个命令的更多信息,只需键入命令名称,然后输入开关 /? 这里我们可以使用 starttimeout 作为帮助开关的例子:

start /?
timeout /?