如何通过批处理文件在单独的驱动器上打开python文件?

时间:2018-11-09 02:10:42

标签: python batch-file cmd

我在USB驱动器上有一个.py和一个批处理文件。我如何获取它,以便批处理文件可以打开.py文件。当我尝试过此操作之前,找不到文件。

1 个答案:

答案 0 :(得分:-1)

假设Python文件名为script.py,并且批处理文件不仅位于同一驱动器上,而且位于同一文件夹中。那么命令将是:

"%~dp0script.py"

让我们分解一下:

批处理脚本中的

'%〜0'是当前正在执行的脚本的路径/文件名。您可以添加修饰符以获取路径/文件名的一部分:“ d”是驱动器号,“ p”是目录路径(包括尾部斜杠),因此“%〜dp0”是驱动器和路径(但不是)当前执行脚本的文件名或扩展名)。有关此语法的更多信息,请在命令窗口中键入“ help call”。

由于我假设python脚本位于同一文件夹中,因此您只需将脚本名称添加到'%〜dp0'。如果您正在执行f:\ path \ to \ batchfile.bat,则“%〜dp0script.py”将变为“ f:\ path \ to \ script.py”。如果脚本位于子文件夹中,则可以将其添加到“%〜dp0subfolder \ script.py”甚至“%〜dp0 .. \ sibling \ script.py”中(如果python脚本位于同级文件夹中)。批处理脚本正在运行。

最后,在路径部分包含空格的情况下,请很好地引用整个内容。如果您的python脚本需要参数,则可以在引号后添加它们。

"%~dp0script.py" "arg1" "arg2" "arg3" ...

所有这一切的好处是,无论您的文件对位于USB驱动器,本地子文件夹,CD还是DVD上,而且用户将这两个脚本一起复制到其他本地文件夹中,也可以将它们一起复制到计算机上的任何位置,这都可以使用-批处理脚本仍会调用python脚本,而无需进行更改。它还不需要用户或脚本先将其“ cd”到包含脚本的文件夹中-当用户调用批处理文件时,无论工作目录如何,它都可以工作。