我在命令行中运行我的类,没关系,但是当我将项目打包为Windows服务时,它失败了。谁有理由? 我的服务以System用户身份运行,tempFolder创建为System用户。 有我的代码,我没有得到任何异常和错误。
(!tempFolder.exists()){
if(tempFolder.mkdirs()){
String operatingSystemName = System.getProperty("os.name");
if (operatingSystemName != null
&& operatingSystemName.startsWith(WINDOWS_FAMILY)) {
String string = " attrib " + tempFolder.getAbsolutePath()+ " +h";
try {
Runtime.getRuntime().exec(string);
} catch (Exception e) {
e.printStackTrace();
}
}
}else {
throw new Exception("Can't create temp folder - " + tempFolder.toString());
}
答案 0 :(得分:0)
添加参数 + s
String string = " attrib " + tempFolder.getAbsolutePath()+ " +s +h";
+ s :用于将文件属性设置为系统文件。
attrib命令的参数
+ r :用于将文件属性设置为只读。
-r :用于清除只读文件属性。
+ a :用于将文件属性设置为存档。
-a :用于清除存档文件属性。
+ s :用于将文件属性设置为系统文件。
-s :用于清除系统文件属性。
+ h :用于使隐藏的文件属性对用户不可见。
-h :用于清除隐藏文件属性。