我需要创建一个从C:\ x到C:\ xxx \ yyy \ zzz \ aaa \ bbb的连接点(目录符号链接),因为我在添加文件时遇到了Windows XP最大文件路径长度这个目录,我无法控制目录结构。
我正在读到,创建连接点并不是Windows内置的,因此我需要一个工具或软件库来完成它。如何在代码中创建连接点?我正在考虑使用Junction,但法律告诉我,我cannot distribute。
我的代码库主要使用Java。我宁愿不介绍C / C ++来做到这一点。
答案 0 :(得分:3)
有一个名为“ln-win”的开源(MIT许可证)工具,应该符合您的要求:
http://neosmart.net/blog/2011/open-source-100-compatible-ln-for-windows-and-junction-point-library/
https://github.com/NeoSmart/ln-win
更新:不幸的是,此工具无法在Windows XP上运行,它需要Windows Vista,Windows 7,Windows 2008或更高版本。
答案 1 :(得分:2)
Marc B有正确的想法,但没有发布答案,所以我会发布这个。
此Windows文章详细介绍了linkd
实用程序:http://support.microsoft.com/kb/205524/en-us
Linkd.exe
- 将任何目标文件夹移植到Windows 2000版本的NTFS文件夹
可以通过Windows Server 2003资源工具包工具下载此EXE:http://www.microsoft.com/downloads/en/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd
虽然适用于Windows 2003,但它在Windows XP上安装时没有任何问题。请注意,此套件与Vista不兼容,Vista已经有一个用于创建连接点的内置实用程序(mklink
)。
安装了一个,可以创建一个Junction:
linkd C:\x C:\xxx\yyy\zzz\aaa\bbb
答案 2 :(得分:0)
mklink的问题是,没有mklink.exe。 (含义:你在路径中找不到它,因为它内置于cmd.exe中。)Otoh,类似
cmd.exe /c mklink /j <junction_to_create> <actual_dir>
可能有用。