Страница 1 из 2

Выборочная упаковка

Добавлено: Ср апр 27, 2011 09:02
ask-rus
Возможна ли вообще реализация выборочной упаковки, а именно, у нас есть каталог, я хочу упаковать этот каталог и некоторые файлы в нем?

Суть. Заливаем TC на флешку для поставки его своим друзьям и знакомым. Согласно файл-списка производим упаковку каталога TC, те конфиденциальные файлы (wcx_ftp.ini, др.) или какой-либо "мусор" (диби, гиды, тумбсы, логи), что указаны в файл-списке будут игнорироваться и в архив не попадут.

:?:

Добавлено: Ср апр 27, 2011 09:23
Batya
ask-rus
Для 7z применяем ключ исключений -x@{listfile}

Добавлено: Ср апр 27, 2011 09:27
sa
ask-rus
Наверное, можно задействовать на время упаковки тоталовский список исключений, куда поместить игнорируемые файлы.

Добавлено: Ср апр 27, 2011 09:36
MVV
Вообще, можно в исходной папке нажать Ctrl[+Shift]+B, выделить файлы для упаковки, сняв выделение с ненужных (при помощи абсолютно любых шаблонов), и нажать Alt+F5 для упаковки. Структура папок в архиве будет сохранена, и в архив попадут только выбранные файлы.

При этом верхней папкой архива будет считаться папка, в которой нажималась комбинация Ctrl[+Shift]+B (собственно, эта папка будет отображаться в заголовке панели).

Добавлено: Ср апр 27, 2011 10:42
ask-rus
Batya писал(а):Для 7z применяем ключ исключений -x@{listfile}
Кажется, это то, что нужно.
sa писал(а):Наверное, можно задействовать на время упаковки тоталовский список исключений, куда поместить игнорируемые файлы.
Тоже вариант, если так, действительно, можно. Но я бы не хотел, конечно, вмешивать свой tcignore.txt в это дело. В нем свои игнорируемые файлы.

Добавлено: Ср апр 27, 2011 11:11
sa
MVV писал(а):сняв выделение с ненужных (при помощи абсолютно любых шаблонов)
Удобный вариант. Можно использовать, в том числе, “Загрузить выделение из файла…” (со списком игнорируемых файлов) с последующим “Инвертировать выделение”.

Добавлено: Ср апр 27, 2011 11:18
ask-rus
[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -- -x@listfile.txt "%O.7z" @%L
menu=У п а к о в а т ь файлы [Win+Alt+F5]
Такое вот не прокатило, в чем же ошибка. :?

Добавлено: Ср апр 27, 2011 11:39
Batya
ask-rus писал(а):Такое вот не прокатило, в чем же ошибка.
Упаковка работает нормально, но не работает исключение?
Разбирайся с содержимым listfile.txt. Попробуй также указать полный путь к listfile.txt.

Добавлено: Ср апр 27, 2011 12:27
ask-rus
Batya писал(а):Упаковка работает нормально, но не работает исключение?
Упаковка вообще не работает.
Пытаюсь упаковать Рабочий стол с содержимым:
Загрузки.lnk
UltraMon.lnk
Ярлык для TOTALCMD.EXE.lnk
MagicDisc.lnk
MagicISO.lnk
PRO100.lnk
однокомнатная.sto
При этом listfile.txt с:
MagicDisc.lnk
MagicISO.lnk
PRO100.lnk
находится в директории 7-Zip
Batya писал(а):Попробуй также указать полный путь к listfile.txt.

Код: Выделить всё

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -- -x@d:\Totalcmd\SOFT\7-Zip\listfile.txt "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Моргает и не более того.

Добавлено: Ср апр 27, 2011 12:40
MVV
Было бы ошибкой надеяться, что 7-Zip будет искать файл исключений, указанный неполным именем, в своей папке - по стандарту неполные имена рассматриваются относительно текущей папки.

А чтобы не моргал, запускай cmd с командой вызова 7-Zip - на время отладки.

Добавлено: Ср апр 27, 2011 12:48
Batya
ask-rus писал(а):Упаковка вообще не работает.
Я подозреваю, что ты намудрил с параметрами.
Сделай рабочую кнопку упаковки без использования исключений, а уже потом добавляй в параметры обработку исключений.

Добавлено:
Ключ "-x" должен идти перед "--", а не после.

Добавлено:
Перед ключем "-x" нужно указать ключ "-r" (или "-r0", если в файле исключений только маски файлов).

Добавлено: Ср апр 27, 2011 13:47
ask-rus
Batya писал(а):Я подозреваю, что ты намудрил с параметрами.
Сделай рабочую кнопку упаковки без использования исключений, а уже потом добавляй в параметры обработку исключений.
Я добавил ключ в уже рабочую кнопку, которой всегда пользуюсь.
Batya писал(а):Ключ "-x" должен идти перед "--", а не после.

Код: Выделить всё

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -x@d:\Totalcmd\SOFT\7-Zip\listfile.txt -- "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Теперь работает, но упаковалось всё без исключений.
Batya писал(а):Перед ключем "-x" нужно указать ключ "-r" (или "-r0", если в файле исключений только маски файлов).

Код: Выделить всё

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -r-x@d:\Totalcmd\SOFT\7-Zip\listfile.txt -- "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Аналогично.

Добавлено: Ср апр 27, 2011 13:56
sa
ask-rus писал(а):Теперь работает, но упаковалось всё без исключений.
Может в файле исключений нет путей?

Добавлено: Ср апр 27, 2011 14:01
ask-rus
MVV писал(а):Было бы ошибкой надеяться, что 7-Zip будет искать файл исключений, указанный неполным именем, в своей папке - по стандарту неполные имена рассматриваются относительно текущей папки.
sa писал(а):Может в файле исключений нет путей?
Я уже над этим работаю. :D
Невероятные вещи происходят. То TC периодически выдает сообщение
---------------------------
Total Commander
---------------------------
Эта функция в архивах не работает.
---------------------------
ОК
---------------------------
то напрочь отказывается копировать в буфер полные имена файлов.
Пути после некоторого количества перезапусков TC забить в файл-лист-таки удалось. Результата нет.
listfile.txt писал(а):c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk
c:\Documents and Settings\Аскер\Рабочий стол\MagicISO.lnk
c:\Documents and Settings\Аскер\Рабочий стол\PRO100.lnk

Добавлено: Ср апр 27, 2011 14:08
sa
ask-rus писал(а):c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk
Может кавычки помогут?
"c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk"