文件复制为路径 (文件复制为路径后顺序错误) 前言

无论是在日常工作还是学习中,复制文件路径都是一种很常用的功能,以前和大家一样,我也是先复制资源管理器的地址栏的地址,粘贴到目标编辑器,然后再添加一个目录分隔符\,再按F2重命名选择的文件,再按Ctrl+A全选,再Ctrl+C复制文件名,最后再粘贴到目标编辑器中,一顿操作下来,通常需要花费十几秒钟的时间。

作为一个被豆瓣拒绝收录的电影短片的领衔主演口中的驱动世界的懒人,所以我为文件右键菜单添加了一个复制文件路径的菜单。可以将十几秒的操作缩短到1秒

我想这种功能很多人也是需要的,所以写出来让大家也能够做到这一点。

当然,这需要一点点的Python知识,除此之外,没有更多的要求,所以非常适合我的教程的读者们。

怎么做

1、首先需要创建一个.py文件,文件名和保存位置任意,比如其路径为:

D:\HP\Code\Python\系统\剪贴板\copy_cmd.py

其内容为:

import pyperclipimport syspyperclip.copy(sys.argv[1])

前两行是导入相关模块,因为最后一行的代码需要使用模块提供的功能。

pyperclip.copy()可以将其括号中的内容复制到剪贴板。而sys.argv[1]表示传递给程序的第1个命令行参数,之所以索引为1而不是0,是因为sys.argv[0]表示程序本身的路径。

命令行参数是调用程序时用空格隔开的附加文本,它支持多个,所以它是个列表,在Python中,sys.argv保存了这个参数,目前我们只需要第一个,所以示例中使用sys.argv[1]即可。

2、Python程序的功能是将第一个命令行参数复制到剪贴板,我们还需要创建一个菜单项目,这个菜单项需要调用这个程序,并将文件的路径做为命令行的第一个参数传给它。

这可以通常操作注册表来实现,手动的操作比较麻烦,所以我创建了一个文件:

D:\HP\Code\注册表\右键菜单\资源管理器选中文件添加右键菜单.reg

其内容如下:

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\复制文件路径]"icon"="D:\\HP\\IDE\\Python\\Python3.7\\pythonw.exe"[HKEY_CLASSES_ROOT\*\shell\复制文件路径\command]@="D:\\HP\\IDE\\Python\\Python3.7\\pythonw.exe D:\\HP\\Code\\Python\\系统\\剪贴板\\copy_cmd.py \"%1\""

其中,icon所在行表示设置的是菜单项前面的图标,这不是必须的,只是为了让菜单项看起来更美观一些,所以建议还是加上。

@所在行是实现功能的关键,它表示使用pythonw.exe解释器解释运行我们刚刚创建的Python文件,并将当前文件的路径做为第一个命令行参数传给它,%1表示文件路径,两端的\”是为了支持包含空格的路径,没有它只能复制空格前的部分。

需要注意Python解释器的与Python程序文件的路径与磁盘中的实际路径一样,比如你的Python解释器路径可能是:

D:\\Python\\Python3.10\\pythonw.exe

HKEY_CLASSES_ROOT所在行的“复制文件路径”是显示的菜单项标题,也可以自定义。

最后,双击运行这个.reg扩展名的文件,将它写入注册表,便能看到效果了:

点击“复制文件路径”,便可以将当前选中的文件路径复制到剪贴板,可以在别的地方粘贴使用了。

因为我还需要一些其他功能,所以还添加了用Python IDLE和记事本打开的菜单,下面的代码供参考(需要与你的目标系统路径一致):

[HKEY_CLASSES_ROOT\*\shell\用 Python IDLE 打开]"icon"="D:\\HP\\IDE\\Python\\Python3.7\\pythonw.exe"[HKEY_CLASSES_ROOT\*\shell\用 Python IDLE 打开\command]@="D:\\HP\\IDE\\Python\\Python3.7\\pythonw.exe D:\\HP\\IDE\\Python\\Python3.7\\Lib\\idlelib\\idle.py \"%1\""[HKEY_CLASSES_ROOT\*\shell\用 记事本 打开]"icon"="C:\\Windows\\System32\\notepad.exe"[HKEY_CLASSES_ROOT\*\shell\用 记事本 打开\command]@="notepad \"%1\""相关阅读

2022年5月30日关于Python教程换形式更新的说明




这是水淼·dedeCMS站群文章更新器的试用版本更新的文章,故有此标记(2023-04-03 08:32:46)