【问题标题】:Batch file with remote drive python script带有远程驱动器python脚本的批处理文件
【发布时间】:2019-11-15 18:15:28
【问题描述】:

我正在编写一个我想通过任务管理器运行的 python 脚本。我创建了一个这样的批处理文件:

call "C:\ProgramData\Anaconda3\Scripts\activate.bat"
"C:\ProgramData\Anaconda3\python.exe" "\\insert_path_here\project_directory.py"
pause

当我将project_directory.py 作为硬盘驱动器上的路径时,它可以与任务管理器或手动打开批处理文件一起正常工作。当我将 .py 文件放在远程驱动器上时,当我手动打开批处理文件时,它仍然可以正确执行。当任务管理器尝试运行.bat 文件时,我收到一条消息,询问我想使用哪个应用程序来运行程序:

做什么?

谢谢!

【问题讨论】:

    标签: python scheduled-tasks


    【解决方案1】:

    尝试使用cmd.exe。默认情况下,您应该在这里找到它:c:\windows\system32\cmd.exe

    在旁注中探索将.py 转换为.exe 的选项,您可以从这里开始:https://www.simplifiedpython.net/convert-python-to-exe-tutorial/ 我觉得这对你来说会是更好的选择。

    【讨论】:

    • 感谢您的回复。我不太清楚你所说的使用cmd.exe 是什么意思。我尝试了该教程,但它似乎将我的整个 anaconda 库复制到该位置,并且当它没有某个特定库时失败。
    【解决方案2】:

    看起来它正在尝试分别运行 python.exe 和 project_directory.py 文件。尝试将它们作为一个命令:

    call "C:\ProgramData\Anaconda3\Scripts\activate.bat"
    "C:\ProgramData\Anaconda3\python.exe \insert_path_here\project_directory.py"
    

    您的本地计算机上可能已经有与 Python 相关联的 *.py 文件,这就是它在那里工作的原因。

    【讨论】:

    • 嗯...这似乎对我不起作用。它告诉我系统找不到指定的路径。你的意思是作为python的一个路径,然后是一个空格,然后是脚本的路径?感谢您的尝试!
    • 啊,我明白了,我错过了您问题中的重要一点,抱歉。如果您只是在虚拟环境之外手动运行 python 文件,如果您不以“python.exe”开头命令,操作系统是否会识别 .py 扩展名并使用适当的程序启动它? IOW 自己运行\insert_path_here\project_directory.py
    • 好吧,我想通了,我并不骄傲。问题是任务调度程序指向的是 python 脚本,而不是 .bat 文件。谢谢你的尝试,你的刺激让我间接到达那里,所以有赏金。
    • 谢谢你,我很感激。当这样的事情发生在我身上时,我告诉自己,最好花一周的时间来解决一个愚蠢的错误,而不是花一周的时间来解决它而不去修复它。我很高兴你能成功。
    猜你喜欢
    • 2017-02-23
    • 2013-02-18
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2015-09-12
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多