2013-11-21 98 views
0

我想創建我的機器上的文件夾到其他m/c的共享驅動器的符號鏈接

即如果我有'測試'文件夾在D驅動器。我想在共享文件夾上創建符號鏈接,例如「\\ hjds22 \ Test」。當我嘗試使用下面的代碼時,它給了我java.nio.file.AccessDeniedException

守則如下:如何用Java創建Windows符號鏈接(到UNC路徑)

 Path newLink =Paths.get("\\\\hjds22\\Test\\newLink"); 
     Path target = Paths.get("D:\\test"); 
     try { 
      Files.createSymbolicLink(newLink, target); 
     } catch (IOException x) { 
      System.err.println(x); 
     } catch (UnsupportedOperationException x) { 
      // Some file systems do not support symbolic links. 
      System.err.println(x); 
     } 

注:我對共享文件夾full rights。我還在兩個m/c上執行了fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

+0

什麼是例外?驅動器是NTFS嗎? – TJR

回答

0

Runtime.getRuntime().exec("mklink /j dir target")

0

的Windows快捷方式不支持Java。

您必須使用外部庫。如jShortcut,它附帶了一個jni dll。

這工作得很好,除了該DLL是一個32位的DLL。我(personaly)未能將其編譯爲64位。這將需要強制你的應用程序運行一個32位的jre。