Ich versuche, einen Ordner in ein .7z-Archiv zu komprimieren. Dieser Ordner enthält symbolische Links zu anderen Dingen außerhalb des Ordners (sowohl Verzeichnisse als auch Dateien).
Anscheinend archiviert 7zip nur den Link selbst, was nicht meine Absicht ist. Gibt es eine Möglichkeit, 7zip mitzuteilen, dass es die Inhalte archivieren soll, auf die es verweist, und nicht den Link selbst? (Das heißt, wenn es einen Symlink-Namen gibt, foo
der darauf verweist C:\stuff\foo
, möchte ich, dass das C:\stuff\foo
Verzeichnis anstelle von foo in das Archiv aufgenommen wird und kein 0-Byte-Symlink.)
Gibt es eine vernünftige Problemumgehung außer dem Hinzufügen der fraglichen Dateien und Ordner? Es gibt ungefähr 10.000 Dateien, auf die über Symlinks verwiesen wird. Das Hinzufügen einzelner Dateien würde also Stunden dauern. Vielleicht gibt es ein Programm, das einen Staging-Ordner mit den tatsächlichen Dateien erstellt und diesen dann an 7zip weiterleitet. Oder nur ein Archivierer, der Symlinks besser handhabt.
Ich verwende Windows Vista. Alle Links sind symbolische Links (zB erstellt mit mklink link target
und mklink /D link target
).
BEARBEITEN:
dir
Befehlsausgabe für ein kleineres Testverzeichnis:
C:\...>dir
Volume in drive C is OS
Volume Serial Number is 0A3D-CD6E
Directory of C:\...
09/04/2010 18:12 <DIR> .
09/04/2010 18:12 <DIR> ..
09/04/2010 18:10 975 real file.txt
09/04/2010 18:11 <SYMLINK> test file.txt [..\test file.txt]
2 File(s) 975 bytes
4 Dir(s) 5,214,355,456 bytes free
Das Erstellen eines 7z-Archivs mit 7zip führt real file.txt
dazu, dass es eingeschlossen wird, es test file.txt
wird jedoch als 0-Byte-Datei hinzugefügt, obwohl die verknüpfte Datei existiert und 50 KB groß ist.