2

我的应用程序正在用户目录中创建一个.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了解在哪里可以找到应用程序?不管它安装在哪里?

4

1 回答 1

2

在每种情况下(有或没有空格)都引用文件位置应该有效

out.println("start \"" + System.getProperty("user.dir") + fileSeparator +"MyApp.exe\"");
于 2013-10-06T14:28:37.550 回答