在Windows中使用java 6隐藏文件夹,但失败
我在命令行中运行我的类,这没问题,但是当我将我的项目打包为Windows服务时,它失败了。有人知道原因吗?在Windows中使用java 6隐藏文件夹,但失败,java,Java,我在命令行中运行我的类,这没问题,但是当我将我的项目打包为Windows服务时,它失败了。有人知道原因吗? 我的服务以系统用户身份运行,tempFolder是以系统用户身份创建的。 这是我的代码,我没有得到任何异常和错误 (!tempFolder.exists()){ if(tempFolder.mkdirs()){ String operatingSystemName = System.getProperty("os.name");
我的服务以系统用户身份运行,tempFolder是以系统用户身份创建的。 这是我的代码,我没有得到任何异常和错误
(!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());
}
添加参数+s
String string = " attrib " + tempFolder.getAbsolutePath()+ " +s +h";
+s:用于将文件属性设置为系统文件
attrib命令的参数
+r:用于将文件属性设置为只读
-r:用于清除只读文件属性
+a:用于将文件属性设置为存档
-a:用于清除存档文件属性
+s:用于将文件属性设置为系统文件
-s:用于清除系统文件属性
+h:用于将文件属性设置为隐藏,用户不可见
-h:用于清除隐藏的文件属性。您可能没有创建目录或更改其属性的安全权限感谢您的回复。我的服务以系统用户身份运行。您认为可以吗?不确定系统用户实际拥有哪些权限。可能取决于您尝试创建目录的位置此文件夹是由系统用户创建的。我检查了这个文件夹属性中的安全选项卡。系统中的“组或用户名:”这个文件夹我想隐藏,它不是系统文件夹。这只是生产水平。我不想让它成为系统级文件夹,只需隐藏它就可以了。顺便问一下,你的意思是系统用户可以只隐藏系统级文件夹吗?