让一个文件出现在多个文件夹中

Ell*_*iot 4 windows windows-explorer copy-paste

我有 50 多个文件夹,每个文件夹都包含大量需要处理的数据。所有这些都使用完全相同的代码进行处理,利用 os.path.dirname(os.path.realpath( file )) 来获取 python 脚本所在的目录,因此用户无需手动编辑,它们只需要双击。

我需要脚本出现在每个文件夹中,而实际上只在 1 个地方,所以我可以编辑它一次,然后当它从这些位置中的任何一个运行时,文件夹路径是正确的。另一种方法是编辑主文件,然后在我更新代码时一次粘贴一个文件夹,尽管所有 50 多个文件夹都粘贴,这非常繁琐且容易出错。在 Linux 上,我可以使用符号链接进行设置,但我无法找到在 Windows 上执行此操作的方法。

或者,一种将文件一次粘贴到所有目标目录中的方法,而不是一次粘贴一个,将实现相同的目标。

gro*_*taj 13

您需要一个符号链接或一个硬链接。

符号链接(或简称符号链接)与快捷方式非常相似:有一个实际文件和多个引用(符号链接)。他们甚至有那个小箭头图标。与快捷方式不同,符号链接可以有任何扩展名。

硬链接将硬盘驱动器上的文件绑定到目录树中的某个位置。每个文件至少有一个硬链接,否则它不会存在于任何目录中。如果一个文件有多个硬链接,则无法区分原来的硬链接,文件物理上只存在一个位置。

两者都有其局限性:

  • 某些软件不能很好地使用符号链接
  • 删除原始文件会破坏其所有符号链接
  • 您不能硬链接文件夹(但如果符号链接不够,您可以创建目录连接
  • 创建跨分区硬链接是不可能的

符号链接通常就足够了。

要创建符号链接或硬链接:

  1. 启动特权命令行:按Win,键入cmd,按Ctrl+ Shift+Enter
  2. 发出mklink命令:

    • mklink link_name link_target 对于文件符号链接
    • mklink /d link_name link_target 对于文件夹符号链接
    • mklink /h link_name link_target 对于文件硬链接
    • mklink /j link_name link_target 用于目录连接