【问题标题】:How can I parse a dragged file's path in a Windows batch script? [duplicate]如何在 Windows 批处理脚本中解析拖动文件的路径? [复制]
【发布时间】:2017-11-04 13:48:49
【问题描述】:

我有一个 python 脚本,我希望能够将 .exe 文件拖到该脚本上并让该 python 脚本处理这些文件。我认为 Python 不容易支持这一点,所以我想制作一个 .BAT 文件,对于拖到它上面的文件,该文件获取该文件的路径,然后运行类似:

python C:\files\myPy.py [full path to dragged .exe here]

基本上,它只是以拖动的文件作为参数运行我的脚本。

我正在苦苦挣扎的部分只是获取拖动的可执行文件的路径。这是 %%f 还是 %1?

【问题讨论】:

  • Python 对 .py 脚本的默认 Python.File 关联确实实现了一个放置处理程序。最近版本的 Python 3 甚至安装了一个 shell 扩展 (pyshellext.amd64.dll) 以更好地支持处理程序中的 Unicode 路径。

标签: batch-file drag-and-drop


【解决方案1】:

批处理文件的第 0 个参数是批处理文件本身的路径。第一个参数是......好吧,您放置的第一件事(将文件拖到命令行上时)应该是可执行文件的路径。
为了确保所有内容都正确地包含在双引号中,您现在需要先删除所有周围的引号,然后添加新的:

python C:\files\myPy.py "%~1"

~ 删除了(可能)现有的引号。如果没有,它不会删除任何东西。这样可以确保引号是正确的(至少可以进一步批量使用;不确定 python)。

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多