私のアプリは、ユーザーがログインしたときに自動実行できるように.bat
、ユーザー ディレクトリにファイルを作成しています。Startup
これは私が現在作成している方法です.bat
:
File startupFile=getStartupFile();
PrintWriter out=new PrintWriter(new FileWriter(startupFile));
out.println("@echo off");
out.println("start " + System.getProperty("user.dir") + fileSeparator +"MyApp.exe");
out.println("exit");
out.close();
}
ところで:ディレクトリstartupFile
への単なる場所ですStartup
問題はSystem.getProperty("user.dir")
、パスにスペースが含まれている場合があることです。たとえば、2 行目は次のようになります。
start C:\Program Files (x86)\MyApp\MyApp.exe
.bat
そして、実行するアプリケーションを見つけようとすると、ファイルが壊れます。
.bat
アプリケーションの場所を理解する方法はありますか? どこにインストールされていても?