![]() |
AW: Windows7 built-in Zip nutzen
Die NTFS Komprimierung ist nicht gleichzusetzen mit einem Zip-Archiv. Das sind zwei unterschiedliche Paar Schuhe. Die NTFS Komprimierung existiert nur auf dem lokalen Computer und im Dateisystem dieses Computers. Wird eine so komprimierte Datei weitergegeben, wird sie natürlich unkomprimiert weitergegeben. Auch sind natürlich Archive mit mehrere Dateien und einer Ordnerstruktur nicht möglich.
Das Systemprogramms compact.exe ermöglicht nur eine manuelle NTFS Komprimierung, wenn ich die Hilfe dazu richtig deute. Ob das Nutzen der undokumentierten Funktionen in zipfldr.dll so sinnvoll ist bleibt zu diskutieren. Aber eigentlich braucht man doch nur Code zum Erstellen von Archiven. Und da gibt es ja diverse Zip kompatible Bibliotheken. |
AW: Windows7 built-in Zip nutzen
Zitat:
|
AW: Windows7 built-in Zip nutzen
Die Anwendung ist doch ganz einfach:
Man erstellt einen Ordner, mit COMPACT /C wird der Ordner als "komprimiert" markiert. Alles, was jetzt in den Ordner kopiert wird, wird automatisch komprimiert. Directories will be marked so that files added afterward will be compressed. Beispiel: F:\ mdir CTEST compact F:\CTEST /C Die Schriftfarbe des Ordners ändert sich von schwarz nach blau. |
AW: Windows7 built-in Zip nutzen
Zitat:
Delphi-Quellcode:
In dem Beispiel wird jetzt eine einzige Datei in die Zip-Datei geschrieben (nämlich eine Konfig-Datei, tut aber eigentlich nichts zur Sache). Man gibt im Befehl "ZipFolder" also an, dass man jetzt ein Verzeichnis komprimieren will. Will man aber in Wahrheit gar nicht das ganze Verzeichnis komprimieren, sondern, wie hier im Beispiel, doch nur eine einzelne Datei, so kann man diesen Dateinamen eben vorher im "Filter" setzen. Darüber kann man dann natürlich auch mit Wildcards arbeiten.
var [...]
shellZip: TShellZip; begin [...] shellZip:=TShellZip.Create; shellZip.Zipfile:=aZipFilename; // erstmal die Konfig sichern if fileExists(aConfigFilename) then begin shellZip.Filter:=ExtractFileName(aConfigFilename); try shellZip.ZipFolder(ExtractFileDir(aConfigFilename),10); except on e: exception do begin Result:=e.Message; success:=false; end; end; end; [...] Ich hoffe, das hilft dir erstmal weiter. Sollten noch Rückfragen sein, bitte nicht wundern, falls ich erstmal nicht antworte, da ich in den nächsten Tagen wahrscheinlich nicht am Rechner bin. Bis denn Bommel |
AW: Windows7 built-in Zip nutzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz