【问题标题】:PAUSE in Batch File not working when running iMacros in Firefox for first time第一次在 Firefox 中运行 iMacros 时,批处理文件中的暂停不起作用
【发布时间】:2018-01-25 05:44:01
【问题描述】:

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

我正在尝试通过将 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 停止运行,用户必须返回 cmd(如果他们已经转到其他地方)并在执行 python 程序之前按任意键。

当 Firefox 已经打开或在任务管理器中看到的在后台运行时,上述代码实际上可以工作。现在,当我在运行批处理文件之前在任务管理器中杀死它时,而不是通常的“按任意键...” cmd 卡在这部分:

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

【问题讨论】:

  • timeout /t 600 将等待 600 秒(10 分钟)然后继续。

标签: batch-file firefox imacros pause


【解决方案1】:

我建议使用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 窗口并输入 help

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

start /?
timeout /?

【讨论】:

  • 刚刚测试过,没有成功 :( 就像我的原始代码一样,它只有在 Firefox 已经运行时才能完美运行。不过,关于单和双 & 符号的信息很好!非常感谢 :)跨度>
  • 快速信息:我使用的是 Firefox 55.0.3,因为我发现它与 iMacro 插件版本 9.0.3 兼容 :)
  • 哇!做到了!先生,添加的代码到底做了什么?
  • 太棒了!我们需要通过使用start "" /w /b 调用它来从cmd 启动firefox,其中/w 是等待选项,/b 在不创建新窗口的情况下启动应用程序
  • 该死,这只是将我的代码提升到一个全新的水平。注意!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
相关资源
最近更新 更多