我使用 VisiPics 程序来删除重复的图片。删除的处理时间根据图片和重复的数量而变化。我创建了一个 Xdotool 命令来对 Visipics 执行某些操作:
xdotool mousemove 239 85 click 1 mousemove 316 68 click 1 mousemove 413 71 click 1 mousemove 605 243 click 1 click 1 click 1 click 1 click 1 mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1 mousemove 769 483 click 1 mousemove 809 249 sleep 1 click 1 mousemove 757 484 click 1 mousemove 800 487 click 1 mousemove 839 11 click 1 mousemove 760 485 click 1
以下是操作的视觉效果:
该命令中出现问题的部分是上图中的步骤 3。我发现sleep
有时有效:
mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1
由于处理图片的等待时间各不相同,该sleep
命令并不总是能很好地工作。我也尝试过使用该--delay
命令,但出现错误xdotool: Unknown command: --delay
。
顺便几年前我问过一个与 Visipics 相关的类似问题,但它对我解决这个特定问题没有帮助,尽管我希望 Xdotool 与 Visipics 执行的操作是相同的。
Xdotool 有没有办法在执行其余操作之前确定程序已完成图片处理?
答案1
答案是目前还无法做到这一点。如果您继续这样做,那么 sleep/--delay 命令是您唯一可能的解决方法。
完全、可靠地自动化流程的唯一方法是
- 答:如果有问题的实用程序可以从命令行而不是 GUI 进行操作,请找出需要哪些命令行参数以及按什么顺序,然后在 bashrc 中设置一个别名,以便您可以随时运行它。
- B:寻找一个可以通过命令行而不是依赖 GUI 完成相同操作的替代程序。
快速谷歌搜索会告诉你,visipics 2 根据其概念应该在专业版本中支持此功能,但是由于它尚未开发,而且距离制定计划已经有 8 年了,我们不太可能很快就会看到。
这让你只能选择要么接受你现在所拥有的并继续使用 sleep,要么切换到不同的工具,如 dupeGuru 或 fslint。