2017-06-03 166 views
0

我有一个python脚本,我希望能够将.exe文件拖放到该脚本上并让该脚本处理这些文件。我不认为Python轻松支持这个,所以我想让它,一个文件拖动到它.bat文件,获取文件的路径,然后运行是这样的:如何解析Windows批处理脚本中的拖动文件路径?

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

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

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

+0

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

回答

0

批处理文件的第0个参数是批处理文件本身的路径。第一个参数是...嗯,你把第一件事情放在哪里(当把文件拖到命令行上时),它应该是可执行文件的路径。
为了确保一切正常用双引号,你现在想先删除所有周围的报价,然后添加新的:

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

~去除(潜在的)现有报价。如果没有,它不会删除任何东西。这可以保证引号是正确的(至少在批处理中进一步使用;不确定python)。

相关问题