我的应用正在用户.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")
有时在路径中包含空格。例如,第二行可以是:
start C:\Program Files (x86)\MyApp\MyApp.exe
这会在尝试查找要运行的应用程序时中断.bat
文件。
任何想法如何让.bat
了解在哪里找到应用程序?无论在哪里安装?
答案 0 :(得分:2)
在每种情况下(有或没有空格)引用文件位置都应该有效
out.println("start \"" + System.getProperty("user.dir") + fileSeparator +"MyApp.exe\"");