【问题标题】:different behaviour on double click on batch file and execute it in cronjob双击批处理文件并在 cronjob 中执行的不同行为
【发布时间】:2019-05-10 03:02:32
【问题描述】:

我正在学习如何在 python (3.7) 中创建一个自动脚本,我注意到了这些不同的行为:

(python 脚本与这个问题无关,但它工作得很好,所以我确定我的问题的答案不在这里)。

  • 案例一:

    我用这个内容创建了一个批处理文件“test.bat”:

    test.bat

    START "test" "C:\Users\cooper\AppData\Local\Programs\Python\Python37-32\test\v4.py" 
    

    我执行它(双击)它会打开第一个窗口,然后关闭它,然后打开第二个标题为“C:\Windows\py.exe”的窗口,python 脚本运行良好。

  • 案例 2:

    我在 cron 任务调度程序上创建了一个 cronjob,其中包含执行批处理文件的操作。

    cronjob 是标准任务:

    • 触发器:在特定时间,一天内执行 X 次
    • 操作:执行批处理文件
    • 我还更改了一个名为:配置(在我的情况下为 W10)的选项。

    当文件被执行时,它会打开第一个窗口,然后立即关闭它,并在它打开第二个窗口之后立即关闭它。

我想运行 python 脚本,但通过 cronjob 执行,但无论我做什么,它都不起作用。我已经尝试使用 cd 并直接使用批处理文件的其他变体:

"C:\Users\cooper\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\Users\cooper\AppData\Local\Programs\Python\Python37-32\test\v4.py"

但它们都不起作用。第一个不记得了,但是第二个在 System32 目录中显示命令行并且什么都不做。

【问题讨论】:

  • 你读过start /?的输出了吗?如果是这样,您是否尝试使用 /B 选项?
  • 没有足够的时间阅读它。窗口保持打开状态... 0.3s??以至于无法阅读。我也尝试了“/B”选项,但结果完全一样
  • 该命令将运行,当无事可做时,它将关闭。添加另一行,使用PauseTimeout 5 在关闭之前读取输出。

标签: python python-3.x batch-file cron cron-task


【解决方案1】:

/K 选项成功了

"C:\Users\cooper\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\Users\cooper\AppData\Local\Programs\Python\Python37-32\metart\v4.py" /K

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多