Я пытаюсь сжать папку в архив .7z. Эта папка содержит символические ссылки на некоторые другие вещи вне папки (как каталоги, так и файлы).
Видимо 7zip просто архивирует саму ссылку, а это не то, что я намеревался. Есть ли способ сообщить 7zip, что я хочу, чтобы он архивировал материал, на который он ссылается, а не саму ссылку? (То есть, если есть имя символической ссылки foo
которое указывает на C:\stuff\foo
, я хочу, чтобы оно включало каталог C:\stuff\foo
в архив вместо foo, а не 0-байтовую символическую ссылку.))
Есть ли разумный обходной путь, кроме добавления файлов и папок, о которых идет речь? Существует около 10000 файлов, на которые ссылаются через символические ссылки, поэтому добавление их всех по отдельности займет несколько часов ... Может быть, есть программа, которая создает промежуточную папку с реальными файлами в ней, а затем передает ее в 7zip. Или просто архиватор, который лучше обрабатывает символические ссылки.
Я использую Windows Vista. Все ссылки являются символическими ссылками (например, созданы с помощью mklink link target
mklink и цели ссылки mklink /D link target
).
РЕДАКТИРОВАТЬ:
Вывод команды dir
для меньшего тестового каталога:
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
Создание этого архива 7z с использованием 7zip приводит к real file.txt
, но test file.txt
добавляется в виде 0-байтового файла, хотя файл, на который имеется ссылка, существует и имеет размер 50 КБ.