我在Windows 64位上使用Oracle Java 7。如何强制Java 7在Windows上创建“目录符号链接”而不是“文件符号链接”?
当我创建使用Files.createSymbolicLink一个符号,我注意到此行为:
- 如果目标是一个目录,“目录符号链接”创建。
- 如果目标是文件,则会创建“文件符号链接”。
- 如果目标不存在,则创建“文件符号链接”。
The type of the symlink is fixed and never changes,无论其目标有任何变化。
使用Windows的原生mklink
命令,可以强制链接类型为“目录符号链接”。是否可以使用本地Java API或某个库来实现此目的?
一个微不足道的和丑陋的方式是:
- 如果目标是一个目录,只是创建链接
- 如果目标不存在,创建一个新的空目标目录,创建链接,并删除该目录。
- 如果目标是一个文件...处理它(移动它,应用#2,将其移回)。
Fugly。
其实没有什么太大的需求,我只是通过程序中的一个错误发现了这种行为,导致符号链接的目标不被创建。 – ripper234