运行 Windows 10 Pro。
我正在尝试解决 Win32 API 固有的 260 个字符 MAX_PATH 限制。
我创建了一系列备份,我们可以说这些备份旨在备份“TRUNCATED”文件名。
例如,我们将引用具有完整文件名的文件:
D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/Folder9/file.txt
首先,我理论上通过将文件移动到Short_Name
更靠近根目录的隐藏文件夹中来缩短此文件名,这样该文件现在实际上就存在于
D:/Short_Name/Folder9/file.txt
但是,为了保持我原来的文件结构完整,这样我就可以重复使用此策略在其他地方执行相同的路径缩短,但仍然使用相同的配置文件和软件在原始文件夹内执行文件复制和同步
( 例如D:/Folder1/.../Folder9/
)
Folder9
我已添加一个名为“ ”的符号链接
(在命令提示符中使用C:\Windows\system32>
mklink
/J
(或/D
)实现)"D:/Folder1/.../Folder9/"
"D:/Short_Name/Folder9/"
之内
D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/
使得链接看起来像
D:/Folder1/.../Folder9/
但指向D:/Short_Name/Folder9/
。
现在,显然我可以使用普通的
右击>“创建快捷方式”
但是这种符号链接的链接目标路径名是绝对的。
D:
(即,指向 的快捷方式D:/Short_Name/Folder9/file.txt
将被复制到,C:
但复制的快捷方式重复项C:
仍将指向D:/Short_Name/Folder9/file.txt
。)
另一方面,符号链接……
(即通过创建的C:\Windows\system32>
mklink
...
)
...复制相对链接没有问题...
(即D:/Folder1/.../Folder9/
会被复制为C:/Folder1/.../Folder9/
)
... 链接目标将从
D:/Short_Name/Folder9/
到
C:/Short_Name/Folder9/
...但--
这里的问题是,现在字面文件名仍然被解释为更长的、未截断的版本,而使用
右击>“创建快捷方式”
方法。
据我所知,当使用mklink
创建指向目录(不是文件 - 我不知道它对文件是否有不同的工作方式)的符号链接时,目录中任何文件的文字系统文件名似乎D:/Short_Name/Folder9/
永远只是mklink
符号路径的整体,即
D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/Folder9/file.txt
即使文件的实际位置只是
D:/Short_Name/Folder9/file.txt
。
问题:
是否有任何方法可以创建一个符号链接,该符号链接将充当标准文件夹,但在复制到新驱动器时还将保留文件名的相对、文字、截断版本?
谢谢,麻烦您了。