0

このコードを作成して、フォルダーを移動し、それを元の宛先にハードリンクしました。問題は、Eclipseから試しているときは完全に機能しますが、それを独自の自己実行jarにすると、ハードリンクは作成されませんが、フォルダーは移動します。コードはコマンド ラインを実行し、コマンドを入力します。移動コマンドが機能するかどうかはわかりませんが、他のコマンドは機能しません。助けてください。(Mklink コマンド)

import java.io.*;
import javax.swing.JOptionPane;

public class The_Cloud_Setup {
    public static void main(String[] args) throws IOException
    {
        try {
            String command = "c:\\cmd.exe";
            Runtime.getRuntime().exec(command);
        }
        catch (IOException e){
            JOptionPane.showMessageDialog(null , e.getMessage(), "End Result", 2);
            System.err.println(e.getMessage());
        }
        String[] StringMove = { "cmd.exe", "/c", "move"+" "+"\"C:/Users/%username%/Documents/My Games/Terraria/Players\""+" "+"\"C:/Users/%username%/Google Drive/Players\""};
        String[] StringMklink = {"cmd.exe", "/c",  "mklink"+" "+"/d"+" "+"\"C:/Users/%username%/Documents/My Games/Terraria/Players\""+" "+"\"C:/Users/%username%/Google Drive/Players\""};
        Process ProcessMove = Runtime.getRuntime().exec(StringMove);
        Process ProcessMklink = Runtime.getRuntime().exec(StringMklink);
        BufferedReader VarMove = new BufferedReader(new InputStreamReader(ProcessMove.getInputStream()));
         BufferedReader VarMklink = new BufferedReader(new InputStreamReader(ProcessMklink.getInputStream()));
        String temp = "";
        while ((temp = VarMove.readLine()) != null) {
            System.out.println(temp);
        }
        VarMove.close();
        VarMklink.close();
    }
}
4

1 に答える 1