| 

.NET C# Java Javascript Exception

2
Hi, ich möchte das Compressed Attribut auf einer Datei entfernen. Der folgende Code funktioniert nicht. Wenn ich den gleichen Code jedoch mit z.B. ReadOnly anstelle Compressed nutze funktioniert er. Muss man bei Compressed etwas anders machen?

if((dbFile.Attributes & FileAttributes.Compressed) == FileAttributes.Compressed)
{
dbFile.Attributes = dbFile.Attributes & ~FileAttributes.Compressed;
}
News:
01.02.2012
KCT 937 1 8
2 Antworten
1
Geht nicht:
"It is not possible to change the compression status of a File object using the SetAttributes method."
Siehe Doku.
01.02.2012
puls200 3,8k 7
Danke, hab ich wohl überlesen... jetzt hab ich aber ein größeres Problem :)
KCT 01.02.2012
Das liegt vermutlich am Dateisystem. Der Anwender kann ja einen ganzen Teilbaum komprimieren.
puls200 01.02.2012
Es gibt noch das Kommandozeilenprogramm compact (http://technet.microsoft.com/en-us/library/cc726045.aspx). Vielleicht kannst du das verwenden?
puls200 01.02.2012
0
Dass es nicht über SetAttribute geht, heißt ja nicht, daß es gar nicht geht. Hab ein bißchen gegoogelt - WMI oder P/Invoke scheinen mögliche Wege zu sein. Schau mal hier bei stackoverflow. Statt "Compress" sollte genausogut auch "Uncompress" funktionieren. (Hab's selbst aber nicht ausprobiert.)
01.02.2012
Matthias Hlawatsch 13,2k 4 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH