使用Java创建Windows符号链接(相当于MKLINK)

使用Java创建Windows符号链接(相当于MKLINK),java,windows,filesystems,symlink,Java,Windows,Filesystems,Symlink,谁能告诉我如何使用Java创建符号链接(与MKLINK相同)和/或删除符号链接。我已经找到了使用Java作为包装器并使用Windows本机程序来实现这一点的解决方案,但我确实想要一个纯Java解决方案。提前谢谢你 据我所知,Windows不像Unix系统那样有真正的符号链接 但是,Windows具有以下相关工具: 您可以映射网络驱动器,即将驱动器号附加到指定的网络路径。您完全可以使用WMI执行此操作。要从java访问WMI,请查看一些工具,如JaWin、Jinterop、Jintegra或使用J

谁能告诉我如何使用Java创建符号链接(与MKLINK相同)和/或删除符号链接。我已经找到了使用Java作为包装器并使用Windows本机程序来实现这一点的解决方案,但我确实想要一个纯Java解决方案。提前谢谢你

据我所知,Windows不像Unix系统那样有真正的符号链接

但是,Windows具有以下相关工具:

  • 您可以映射网络驱动器,即将驱动器号附加到指定的网络路径。您完全可以使用WMI执行此操作。要从java访问WMI,请查看一些工具,如JaWin、Jinterop、Jintegra或使用JScript o VBScript编写WMI脚本,并从java执行

  • 您可以使用命令
    subst
    ,将字母指定给本地文件系统路径。这是最接近Unix软链接的方法

  • 您可以创建桌面快捷方式。手动创建一个并查看它。快捷方式实际上是普通的文本文件(据我记忆中的INI格式)。您可以使用任何想要的语言(包括java)轻松创建一个。这不是软链接,但可以单击


  • 由于Java7,您可以使用NIO包轻松地完成这项工作

    Path target = Paths.get("target");
    Path link = Paths.get("link");
    Files.createDirectory(target);
    Files.createSymbolicLink(link, target);
    

    请记住,您确实需要此操作的正确权限。在我的单元测试中,我必须以管理员的身份运行eclipse以使其正常工作(与我无法从普通的
    cmd.exe
    创建链接相同)

    Windows Vista/7具有某种符号链接。MKLINK命令行实用程序实现了这一点。Java中是否没有办法模拟这个实用程序的功能?