【问题标题】:Create Windows Symbolic Link with Java (equivalent to MKLINK)用 Java 创建 Windows 符号链接(相当于 MKLINK)
【发布时间】:2013-10-07 16:59:00
【问题描述】:

谁能告诉我如何制作符号链接(以与 MKLINK 相同的方式)和/或使用 Java 删除符号链接。我找到了使用 Java 作为包装器并使用 Windows 本机程序来完成此任务的解决方案,但我真的想要一个纯 Java 解决方案。提前谢谢!

【问题讨论】:

    标签: java windows filesystems symlink


    【解决方案1】:

    从 Java 7 开始,您可以使用 NIO 包轻松完成此操作。

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

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

    【讨论】:

      【解决方案2】:

      据我所知,window 没有像类 Unix 系统那样的 real 符号链接。

      但是 Windows 有以下相关工具:

      1. 您可以映射网络驱动器,即将驱动器号附加到指定的网络路径。您绝对可以使用 WMI 做到这一点。要从 Java 访问 WMI,请查看 JaWin、Jinterop、Jintegra 等工具,或者在 JScript o VBScript 中编写 WMI 脚本,然后执行来自 Java。

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

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

      【讨论】:

      • Windows Vista/7 有一些符号链接。 MKLINK 命令行实用程序可以完成此操作。 Java 中没有办法模拟这个实用程序的功能吗?
      猜你喜欢
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多